Index: /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_window.c
===================================================================
--- /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_window.c	(revision 30010)
+++ /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_window.c	(revision 30011)
@@ -121,4 +121,5 @@
 {
     CRMuralInfo *mural;
+    int32_t client;
     int pos;
 
@@ -127,4 +128,11 @@
          crWarning("CRServer: invalid window %d passed to WindowDestroy()", window);
          return;
+    }
+
+    if (cr_server.currentWindow == window)
+    {
+        cr_server.currentWindow = -1;
+        crServerRedirMuralFBO(mural, GL_FALSE);
+        crServerDeleteMuralFBO(mural);
     }
 
@@ -150,6 +158,4 @@
         if (CR_MAX_WINDOWS==pos)
         {
-            int32_t client;
-
             for (client=0; client<cr_server.numClients; ++client)
             {
@@ -179,9 +185,12 @@
     }
 
-    if (cr_server.currentWindow == window)
-    {
-        cr_server.currentWindow = -1;
-        crServerRedirMuralFBO(mural, GL_FALSE);
-        crServerDeleteMuralFBO(mural);
+    /*Make sure this window isn't active in other clients*/
+    for (client=0; client<cr_server.numClients; ++client)
+    {
+        if (cr_server.clients[client]->currentMural == mural)
+        {
+            cr_server.clients[client]->currentMural = NULL;
+            cr_server.clients[client]->currentWindow = -1;
+        }
     }
 
