Index: /trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp	(revision 10682)
+++ /trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp	(revision 10683)
@@ -65,4 +65,5 @@
     DECLR0CALLBACKMEMBER(int, pfnEnterSession,(PVM pVM, PHWACCM_CPUINFO pCpu));
     DECLR0CALLBACKMEMBER(int, pfnLeaveSession,(PVM pVM));
+    DECLR0CALLBACKMEMBER(int, pfnSaveHostState,(PVM pVM));
     DECLR0CALLBACKMEMBER(int, pfnLoadGuestState,(PVM pVM, CPUMCTX *pCtx));
     DECLR0CALLBACKMEMBER(int, pfnRunGuestCode,(PVM pVM, CPUMCTX *pCtx));
@@ -145,4 +146,5 @@
     HWACCMR0Globals.pfnEnterSession     = HWACCMR0DummyEnter;
     HWACCMR0Globals.pfnLeaveSession     = HWACCMR0DummyLeave;
+    HWACCMR0Globals.pfnSaveHostState    = HWACCMR0DummySaveHostState;
     HWACCMR0Globals.pfnLoadGuestState   = HWACCMR0DummyLoadGuestState;
     HWACCMR0Globals.pfnRunGuestCode     = HWACCMR0DummyRunGuestCode;
@@ -341,4 +343,5 @@
         HWACCMR0Globals.pfnEnterSession     = VMXR0Enter;
         HWACCMR0Globals.pfnLeaveSession     = VMXR0Leave;
+        HWACCMR0Globals.pfnSaveHostState    = VMXR0SaveHostState;
         HWACCMR0Globals.pfnLoadGuestState   = VMXR0LoadGuestState;
         HWACCMR0Globals.pfnRunGuestCode     = VMXR0RunGuestCode;
@@ -354,4 +357,5 @@
         HWACCMR0Globals.pfnEnterSession     = SVMR0Enter;
         HWACCMR0Globals.pfnLeaveSession     = SVMR0Leave;
+        HWACCMR0Globals.pfnSaveHostState    = SVMR0SaveHostState;
         HWACCMR0Globals.pfnLoadGuestState   = SVMR0LoadGuestState;
         HWACCMR0Globals.pfnRunGuestCode     = SVMR0RunGuestCode;
@@ -738,4 +742,7 @@
 
     rc  = HWACCMR0Globals.pfnEnterSession(pVM, &HWACCMR0Globals.aCpuInfo[idCpu]);
+    AssertRC(rc);
+    /* We must save the host context here (VT-x) as we might be rescheduled on a different cpu after a long jump back to ring 3. */
+    rc |= HWACCMR0Globals.pfnSaveHostState(pVM);
     AssertRC(rc);
     rc |= HWACCMR0Globals.pfnLoadGuestState(pVM, pCtx);
Index: /trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp	(revision 10682)
+++ /trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp	(revision 10683)
@@ -508,4 +508,16 @@
 
 /**
+ * Save the host state
+ *
+ * @returns VBox status code.
+ * @param   pVM         The VM to operate on.
+ */
+HWACCMR0DECL(int) SVMR0SaveHostState(PVM pVM)
+{
+    /* Nothing to do here. */
+    return VINF_SUCCESS;
+}
+
+/**
  * Loads the guest state
  *
