Index: renderspu_init.c
===================================================================
--- renderspu_init.c	(revision 30480)
+++ renderspu_init.c	(working copy)
@@ -112,7 +112,8 @@
 
                 DestroyWindow(((VBOX_RENDERSPU_DESTROY_WINDOW*) msg.lParam)->hWnd);
 
-                SetEvent(render_spu.hWinThreadReadyEvent);
+                //SetEvent(render_spu.hWinThreadReadyEvent);
+				break;
             }
             else
             {
Index: renderspu_wgl.c
===================================================================
--- renderspu_wgl.c	(revision 30480)
+++ renderspu_wgl.c	(working copy)
@@ -50,6 +50,7 @@
     {
         PostThreadMessage(render_spu.dwWinThreadId, WM_VBOX_RENDERSPU_DESTROY_WINDOW, 0, (LPARAM) &vrdw);
         WaitForSingleObject(render_spu.hWinThreadReadyEvent, INFINITE);
+		Sleep(50); // vmlite, wait a bit to let thread to finish
     }
     else
     {
