diff --git a/dlls/x11drv/dib.c b/dlls/x11drv/dib.c
index 91dfdeeef84e6fae58d208d393e282998d80a095..d93a4e294c31b7fcf6cc52f90614a85f31de7c08 100644
--- a/dlls/x11drv/dib.c
+++ b/dlls/x11drv/dib.c
@@ -4583,6 +4583,7 @@ static XImage *X11DRV_XShmCreateImage( int width, int height, int bpp,
                 shmdt(shminfo->shmaddr);
             }
             shmctl(shminfo->shmid, IPC_RMID, 0);
+            shminfo->shmid = -1;
         }
         XFlush(gdi_display);
         XDestroyImage(image);