Index: /trunk/include/VBox/VBoxVideo.h
===================================================================
--- /trunk/include/VBox/VBoxVideo.h	(revision 22591)
+++ /trunk/include/VBox/VBoxVideo.h	(revision 22592)
@@ -910,4 +910,5 @@
     uint32_t u32Flags;
     uint32_t u32Offset;
+    int32_t  i32Result;
 
 } VBVAENABLE;
Index: /trunk/src/VBox/Additions/WINNT/Graphics/Display/screen.c
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Display/screen.c	(revision 22591)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Display/screen.c	(revision 22592)
@@ -33,4 +33,5 @@
 #ifdef VBOX_WITH_HGSMI
 #include <iprt/asm.h>
+#include <VBox/log.h>
 #include <VBox/HGSMI/HGSMI.h>
 #include <VBox/HGSMI/HGSMIChSetup.h>
@@ -512,5 +513,6 @@
         {
             /* Enable VBVA for this video mode. */
-            vboxVbvaEnable (ppdev);
+            ppdev->bHGSMISupported = vboxVbvaEnable (ppdev);
+            LogRel(("VBoxDisp[%d]: VBVA %senabled\n", ppdev->iDevice, ppdev->bHGSMISupported? "": "not "));
         }
 #endif /* VBOX_WITH_HGSMI */
Index: /trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c	(revision 22591)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c	(revision 22592)
@@ -370,10 +370,18 @@
             pEnable->u32Flags  = bEnable? VBVA_F_ENABLE: VBVA_F_DISABLE;
             pEnable->u32Offset = ppdev->layout.offVBVABuffer;
+            pEnable->i32Result = VERR_NOT_SUPPORTED;
 
             vboxHGSMIBufferSubmit (ppdev, p);
 
+            if (bEnable)
+            {
+                bRc = RT_SUCCESS(pEnable->i32Result);
+            }
+            else
+            {
+                bRc = TRUE;
+            }
+
             HGSMIHeapFree (&ppdev->hgsmiDisplayHeap, p);
-
-            bRc = TRUE;
         }
     }
