diff --git a/src/xpdev/ini_file.c b/src/xpdev/ini_file.c
index 24abe8e3c94d3a100583b36241456da42b4ad2d6..810e746bb153b209e66b609fcf763a4b27c26d5f 100644
--- a/src/xpdev/ini_file.c
+++ b/src/xpdev/ini_file.c
@@ -217,6 +217,17 @@ static size_t find_value_index(str_list_t list, const char* section, const char*
 	return(i);
 }
 
+BOOL iniSectionExists(str_list_t* list, const char* section)
+{
+	size_t	i;
+
+	if(section==ROOT_SECTION)
+		return(TRUE);
+
+	i=find_section_index(*list,section);
+	return((*list)[i]!=NULL);
+}
+
 BOOL iniKeyExists(str_list_t* list, const char* section, const char* key)
 {
 	char	val[INI_MAX_VALUE_LEN];
diff --git a/src/xpdev/ini_file.h b/src/xpdev/ini_file.h
index bc2d999e854ac152e85e8a3e8292c02eb6ad5314..b3317b8821ca4f10a2e5c91fe890ed12f7c70133 100644
--- a/src/xpdev/ini_file.h
+++ b/src/xpdev/ini_file.h
@@ -121,6 +121,7 @@ char*		iniSetBitField(str_list_t*, const char* section, const char* key, ini_bit
 char*		iniSetStringList(str_list_t*, const char* section, const char* key
 					,const char* sep, str_list_t value, ini_style_t*);
 
+BOOL		iniSectionExists(str_list_t*, const char* section);
 BOOL		iniKeyExists(str_list_t*, const char* section, const char* key);
 BOOL		iniValueExists(str_list_t*, const char* section, const char* key);
 BOOL		iniRemoveKey(str_list_t*, const char* section, const char* key);