diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
index a229f8b637d77f0dc91da0044dfd9e186877ebbe..5dab53eb6b2253d3509a988d510e8486c6203dd3 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -549,6 +549,7 @@ GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride,
         ERR("could not make stream\n");
         GdipFree(*bitmap);
         GdipFree(buff);
+        *bitmap = NULL;
         return GenericError;
     }
 
@@ -558,6 +559,7 @@ GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride,
         IStream_Release(stream);
         GdipFree(*bitmap);
         GdipFree(buff);
+        *bitmap = NULL;
         return GenericError;
     }