Index: /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 46594)
+++ /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 46595)
@@ -6634,4 +6634,11 @@
     Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD));
 
+#ifdef LOG_ENABLED
+    /** @todo r=ramshankar: I'm not able to use VMMRZCallRing3Disable() here,
+     *        probably not initialized yet? Anyway this will do for now. */
+    bool fCallerDisabledLogFlush = VMMR0IsLogFlushDisabled(pVCpu);
+    VMMR0LogFlushDisable(pVCpu);
+#endif
+
     LogFlowFunc(("pVM=%p pVCpu=%p\n", pVM, pVCpu));
 
@@ -6689,4 +6696,10 @@
              ("Missed updating flags while loading guest state. pVM=%p pVCpu=%p idCpu=%RU32 fContextUseFlags=%#RX32\n",
               pVM, pVCpu, pVCpu->idCpu, pVCpu->hm.s.fContextUseFlags));
+
+#ifdef LOG_ENABLED
+    /* Only reenable log-flushing if it the caller originally had it enabled. */
+    if (!fCallerDisabledLogFlush)
+        VMMR0LogFlushEnable(pVCpu);
+#endif
 
     STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatLoadGuestState, x);
