Index: /trunk/src/VBox/Main/src-client/DisplayImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/DisplayImpl.cpp	(revision 35546)
+++ /trunk/src/VBox/Main/src-client/DisplayImpl.cpp	(revision 35547)
@@ -2519,5 +2519,6 @@
                  * it to update. And for default format, render the guest VRAM to framebuffer.
                  */
-                if (pFBInfo->fDefaultFormat)
+                if (   pFBInfo->fDefaultFormat
+                    && !(pFBInfo->flags & VBVA_SCREEN_F_DISABLED))
                 {
                     address = NULL;
@@ -2643,5 +2644,6 @@
         else
         {
-            if (!pFBInfo->pFramebuffer.isNull())
+            if (   !pFBInfo->pFramebuffer.isNull()
+                && !(pFBInfo->flags & VBVA_SCREEN_F_DISABLED))
             {
                 /* Render complete VRAM screen to the framebuffer.
@@ -2812,5 +2814,7 @@
     IFramebuffer *pFramebuffer = maFramebuffers[VBOX_VIDEO_PRIMARY_SCREEN].pFramebuffer;
 
-    if (pFramebuffer)
+    if (   pFramebuffer
+        && !(  maFramebuffers[VBOX_VIDEO_PRIMARY_SCREEN].flags
+             & VBVA_SCREEN_F_DISABLED))
     {
         HRESULT rc;
@@ -3573,5 +3577,6 @@
                 pDrv->pUpPort->pfnUpdateDisplayRect (pDrv->pUpPort, pCmd->x, pCmd->y, pCmd->w, pCmd->h);
             }
-            else if (!pFBInfo->pFramebuffer.isNull())
+            else if (   !pFBInfo->pFramebuffer.isNull()
+                     && !(pFBInfo->flags & VBVA_SCREEN_F_DISABLED))
             {
                 /* Render VRAM content to the framebuffer. */
@@ -3696,5 +3701,5 @@
         pThis->handleDisplayResize(pScreen->u32ViewIndex, 0,
                                    (uint8_t *)NULL,
-                                   0, pFBInfo->w, pFBInfo->h, pScreen->u16Flags);
+                                   0, 640, 480, pScreen->u16Flags);
 
         fireGuestMonitorChangedEvent(pThis->mParent->getEventSource(),
