Index: /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 61976)
+++ /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 61977)
@@ -4879,9 +4879,18 @@
         }
 # ifdef VBOX_ENABLE_64_BITS_GUESTS
-        /* Keep using the 64-bit switcher even though we're in 32-bit because of bad Intel design. See @bugref{8432#c7}. */
+        /* Keep using the 64-bit switcher even though we're in 32-bit because of bad Intel design. See @bugref{8432#c7}. 
+         * Except if Real-on-V86 is active, clear the 64-bit switcher flag because now we know the guest is in a sane
+         * state where it's safe to use the 32-bit switcher again.
+         */
+        if (pVCpu->hm.s.vmx.RealMode.fRealOnV86Active)
+            pVCpu->hm.s.vmx.fSwitchedTo64on32 = false;
+
         if (!pVCpu->hm.s.vmx.fSwitchedTo64on32)
             pVCpu->hm.s.vmx.pfnStartVM = VMXR0StartVM32;
         else
+        {
+            Assert(!pVCpu->hm.s.vmx.RealMode.fRealOnV86Active);
             Assert(pVCpu->hm.s.vmx.pfnStartVM == VMXR0SwitcherStartVM64);
+        }
 # else
         pVCpu->hm.s.vmx.pfnStartVM = VMXR0StartVM32;
