diff --git a/misc/main.c b/misc/main.c
index 809f3664474f33f761f6c01d016c6d9c864d18e5..955776c509e9570a2ee572915d1d1342a4938e52 100644
--- a/misc/main.c
+++ b/misc/main.c
@@ -349,6 +349,9 @@ int MAIN_GetLanguageID(LPCSTR Lang,LPCSTR Country,LPCSTR Charset,LPCSTR Dialect)
 	for (i=0;i<j;i++)
 	    dialect[i]=tolower(Dialect[i]);
 	dialect[i]='\0';
+    } else {
+    	dialect = malloc(1);
+	dialect[0] = '\0';
     }
 
 #define LANG_ENTRY_BEGIN(x,y)	if(!strcmp(lang, x )) { \
@@ -650,7 +653,7 @@ int MAIN_GetLanguageID(LPCSTR Lang,LPCSTR Country,LPCSTR Charset,LPCSTR Dialect)
 
 end_MAIN_GetLanguageID:
 	if (Charset) free(charset);
-	if (Dialect) free(dialect);
+	free(dialect);
 
 	return ret;
 }