Index: /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_diff.c
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_diff.c	(revision 55211)
+++ /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_diff.c	(revision 55212)
@@ -308,6 +308,4 @@
         {
             CRFBDataElement *el = &data->aElements[i];
-            bool fUseRenderBuffer =
-                (el->enmFormat == GL_STENCIL_INDEX || el->enmFormat == GL_DEPTH_COMPONENT || el->enmFormat == GL_DEPTH_STENCIL);
 #if 0
             char fname[200];
@@ -345,9 +343,5 @@
             }
 
-            /* Bind to corresponding buffer. */
-            if (fUseRenderBuffer)
-                diff_api.BindRenderbufferEXT(GL_RENDERBUFFER_EXT, el->idFBO);
-            else
-                diff_api.BindFramebufferEXT(GL_DRAW_FRAMEBUFFER, el->idFBO);
+            diff_api.BindFramebufferEXT(GL_DRAW_FRAMEBUFFER, el->idFBO);
 
             if (el->enmBuffer)
@@ -386,10 +380,4 @@
                 diff_api.Disable(GL_STENCIL_TEST);
             }
-
-            /* Bind to window system default buffer. */
-            if (fUseRenderBuffer)
-                diff_api.BindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
-            else
-                diff_api.BindFramebufferEXT(GL_DRAW_FRAMEBUFFER, 0);
         }
 
Index: /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c
===================================================================
--- /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c	(revision 55211)
+++ /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c	(revision 55212)
@@ -1367,5 +1367,5 @@
     {
         pEl = &pData->aElements[pData->cElements];
-        pEl->idFBO = pMural->idDepthStencilRB;
+        pEl->idFBO = pMural && pMural->fRedirected ? pMural->aidFBOs[CR_SERVER_FBO_FB_IDX(pMural)] : 0;
         pEl->enmBuffer = 0; /* we do not care */
         pEl->posX = 0;
