diff --git a/gst-libs/gst/gl/win32/gstglwindow_win32.c b/gst-libs/gst/gl/win32/gstglwindow_win32.c
index fca265718c..2c919cd6a6 100644
--- a/gst-libs/gst/gl/win32/gstglwindow_win32.c
+++ b/gst-libs/gst/gl/win32/gstglwindow_win32.c
@@ -135,6 +135,8 @@ gst_gl_window_win32_close (GstGLWindow * window)
 
   if (window_win32->internal_win_id) {
     RemoveProp (window_win32->internal_win_id, "gl_window");
+    ShowWindow (window_win32->internal_win_id, SW_HIDE);
+    SetParent (window_win32->internal_win_id, NULL);
     if (!DestroyWindow (window_win32->internal_win_id))
       GST_WARNING ("failed to destroy window %" G_GUINTPTR_FORMAT
           ", 0x%x", (guintptr) window_win32->internal_win_id,