diff --git a/src/xpdev/ini_file.c b/src/xpdev/ini_file.c
index c2653f22cd806484d77a5a0f58822c35820289b3..b6b5ff000d3aa938ab966df9dc2e7ef8b01a5edf 100644
--- a/src/xpdev/ini_file.c
+++ b/src/xpdev/ini_file.c
@@ -998,14 +998,9 @@ iniReadNamedStringList(FILE* fp, const char* section)
 	char*	value;
 	char	str[INI_MAX_LINE_LEN];
 	ulong	items=0;
-	named_string_t** lp;
+	named_string_t** lp=NULL;
 	named_string_t** np;
 
-	if((lp=(named_string_t**)malloc(sizeof(named_string_t*)))==NULL)
-		return(NULL);
-
-	*lp=NULL;
-
 	if(fp==NULL)
 		return(lp);
 
@@ -1035,7 +1030,8 @@ iniReadNamedStringList(FILE* fp, const char* section)
 		items++;
 	}
 
-	lp[items]=NULL;	/* terminate list */
+	if(items)
+		lp[items]=NULL;	/* terminate list */
 
 	return(lp);
 }
@@ -1047,14 +1043,9 @@ iniGetNamedStringList(str_list_t list, const char* section)
 	char*	value;
 	char	str[INI_MAX_LINE_LEN];
 	ulong	i,items=0;
-	named_string_t** lp;
+	named_string_t** lp=NULL;
 	named_string_t** np;
 
-	if((lp=(named_string_t**)malloc(sizeof(named_string_t*)))==NULL)
-		return(NULL);
-
-	*lp=NULL;
-
 	if(list==NULL)
 		return(lp);
 
@@ -1078,7 +1069,8 @@ iniGetNamedStringList(str_list_t list, const char* section)
 		items++;
 	}
 
-	lp[items]=NULL;	/* terminate list */
+	if(items)
+		lp[items]=NULL;	/* terminate list */
 
 	return(lp);
 }