Index: /trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp	(revision 23651)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp	(revision 23652)
@@ -1375,16 +1375,22 @@
     PDEVICE_EXTENSION devExt = (PDEVICE_EXTENSION)HwDeviceExtension;
     PDEVICE_EXTENSION PrimaryExtension = devExt->pPrimary;
-    uint32_t flags = PrimaryExtension->u.primary.pHostFlags->u32HostFlags;
-    if((flags & HGSMIHOSTFLAGS_IRQ) != 0)
-    {
-        if((flags & HGSMIHOSTFLAGS_COMMANDS_PENDING) != 0)
-        {
-            /* schedule a DPC*/
-            BOOLEAN bResult = PrimaryExtension->u.primary.VideoPortProcs.pfnQueueDpc(PrimaryExtension, VBoxVideoHGSMIDpc, (PVOID)1);
-            Assert(bResult);
-        }
-        /* clear the IRQ */
-        HGSMIClearIrq (PrimaryExtension);
-        return TRUE;
+    if (PrimaryExtension)
+    {
+        if (PrimaryExtension->u.primary.pHostFlags) /* If HGSMI is enabled at all. */
+        {
+            uint32_t flags = PrimaryExtension->u.primary.pHostFlags->u32HostFlags;
+            if((flags & HGSMIHOSTFLAGS_IRQ) != 0)
+            {
+                if((flags & HGSMIHOSTFLAGS_COMMANDS_PENDING) != 0)
+                {
+                    /* schedule a DPC*/
+                    BOOLEAN bResult = PrimaryExtension->u.primary.VideoPortProcs.pfnQueueDpc(PrimaryExtension, VBoxVideoHGSMIDpc, (PVOID)1);
+                    Assert(bResult);
+                }
+                /* clear the IRQ */
+                HGSMIClearIrq (PrimaryExtension);
+                return TRUE;
+            }
+        }
     }
     return FALSE;
