Another portion of HeapReAlloc fixes.

diff --git a/dlls/kernel/global16.c b/dlls/kernel/global16.c
index a21c7c2..76641e5 100644
--- a/dlls/kernel/global16.c
+++ b/dlls/kernel/global16.c
@@ -352,10 +352,16 @@
          * given out by GetVDMPointer32W16),
          * only try to realloc in place
          */
-        newptr = HeapReAlloc( GetProcessHeap(),
-                              (pArena->pageLockCount > 0) ? 
-                              HEAP_REALLOC_IN_PLACE_ONLY : 0, 
+
+	if (ptr)
+            newptr = HeapReAlloc( GetProcessHeap(),
+		(pArena->pageLockCount > 0) ? HEAP_REALLOC_IN_PLACE_ONLY : 0, 
                               ptr, size );
+	else
+            newptr = HeapAlloc( GetProcessHeap(),
+		(pArena->pageLockCount > 0) ? HEAP_REALLOC_IN_PLACE_ONLY : 0, 
+                              size );
+
     }
 
     if (!newptr)