diff --git a/files/profile.c b/files/profile.c
index eb15ace..a034d86 100644
--- a/files/profile.c
+++ b/files/profile.c
@@ -501,7 +501,7 @@
     PROFILEKEY *key = NULL;
 
     if (!def_val) def_val = "";
-    if (key_name)
+    if (key_name && key_name[0])
     {
         key = PROFILE_Find( &CurProfile.section, section, key_name, FALSE );
         PROFILE_CopyEntry( buffer, (key && key->value) ? key->value : def_val,
@@ -839,6 +839,14 @@
                                        buffer, len, wininiW );
 }
 
+/***********************************************************************
+ *           GetProfileSection32A   (KERNEL32.268)
+ */
+INT32 WINAPI GetProfileSection32A( LPCSTR section, LPSTR buffer, INT32 len )
+{
+    return GetPrivateProfileSection32A( section, buffer, len, "win.ini" );
+}
+
 
 /***********************************************************************
  *           WriteProfileString16   (KERNEL.59)
@@ -963,6 +971,16 @@
     return ret;
 }
 
+/***********************************************************************
+ *           GetPrivateProfileSection32A   (KERNEL32.255)
+ */
+INT32 WINAPI GetPrivateProfileSection32A( LPCSTR section, LPSTR buffer,
+                                         INT32 len, LPCSTR filename )
+{
+    if (PROFILE_Open( filename ))
+        return PROFILE_GetString( section, NULL, NULL, buffer, len );
+    return 0;
+}
 
 
 /***********************************************************************
