Index: /trunk/src/VBox/Devices/Graphics/DevVGA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA.cpp	(revision 76203)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA.cpp	(revision 76204)
@@ -1246,4 +1246,16 @@
 #endif
 
+#ifdef VMSVGA_WITH_VGA_FB_BACKUP_AND_IN_RZ
+    /* VMSVGA keeps the VGA and SVGA framebuffers separate unlike this boch-based
+       VGA implementation, so we fake it by going to ring-3 and using a heap buffer.  */
+    if (!pThis->svga.fEnabled)
+    { /*likely*/ }
+    else
+    {
+        *prc = VINF_IOM_R3_MMIO_READ;
+        return 0;
+    }
+#endif
+
     addr &= 0x1ffff;
     switch(memory_map_mode) {
@@ -3430,11 +3442,4 @@
     Assert(PDMCritSectIsOwner(pDevIns->CTX_SUFF(pCritSectRo)));
     NOREF(pvUser);
-
-#ifdef VMSVGA_WITH_VGA_FB_BACKUP_AND_IN_RZ
-    /* VMSVGA keeps the VGA and SVGA framebuffers separate unlike this boch-based
-       VGA implementation, so we fake it by going to ring-3 and using a heap buffer.  */
-    if (!pThis->svga.fEnabled) { /*likely*/ }
-    else                       return VINF_IOM_R3_MMIO_READ;
-#endif
 
     int rc = VINF_SUCCESS;
