diff --git a/libmultipath/parser.c b/libmultipath/parser.c
index 385e4fb..bb04968 100644
--- a/libmultipath/parser.c
+++ b/libmultipath/parser.c
@@ -18,6 +18,7 @@
*/
#include <syslog.h>
#include "parser.h"
#include "memory.h"
@@ -110,6 +111,9 @@ free_keywords(vector keywords)
struct keyword *keyword;
int i;
+ if (!keywords) return;
+
for (i = 0; i < VECTOR_SIZE(keywords); i++) {
keyword = VECTOR_SLOT(keywords, i);
if (keyword->sub)
@@ -483,3 +487,11 @@ init_data(char *conf_file, void (*init_k
return r;
}