We need to create the system heap at startup even though we don't use
it, since some Win95 native dlls depend on that.

diff --git a/dlls/kernel/kernel_main.c b/dlls/kernel/kernel_main.c
index 1cbd814..0a69fa9 100644
--- a/dlls/kernel/kernel_main.c
+++ b/dlls/kernel/kernel_main.c
@@ -83,6 +83,9 @@
     /* Create 16-bit task */
     TASK_CreateMainTask();
 
+    /* Create the shared heap for broken win95 native dlls */
+    HeapCreate( HEAP_SHARED, 0, 0 );
+
     return TRUE;
 }
 
diff --git a/memory/heap.c b/memory/heap.c
index f17e52e..66e1f45 100644
--- a/memory/heap.c
+++ b/memory/heap.c
@@ -1074,8 +1074,8 @@
     SUBHEAP *subheap;
 
     if ( flags & HEAP_SHARED ) {
-        WARN( "Shared Heap requested, returning system heap.\n" );
         if (!systemHeap) HEAP_CreateSystemHeap();
+        else WARN( "Shared Heap requested, returning system heap.\n" );
         return (HANDLE)systemHeap;
     }