Index: /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 49579)
+++ /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 49580)
@@ -7887,6 +7887,9 @@
      * fill those values in. Subsequently, it's updated as part of the host state.
      */
-    if (!pVCpu->hm.s.vmx.fUpdatedHostMsrs)
+    if (   !pVCpu->hm.s.vmx.fUpdatedHostMsrs
+        && pVCpu->hm.s.vmx.cMsrs > 0)
+    {
         VMCPU_HMCF_SET(pVCpu, HM_CHANGED_HOST_CONTEXT);
+    }
 
     /*
@@ -7900,10 +7903,4 @@
         AssertRC(rc);
         STAM_COUNTER_INC(&pVCpu->hm.s.StatPreemptSaveHostState);
-
-        /*
-         * Prevent unnecessary host-state updates in case fUpdatedHostMsrs remains false 
-         * throughout execution (e.g. if we are not swapping any MSRs)
-         */
-        pVCpu->hm.s.vmx.fUpdatedHostMsrs = true;
     }
     Assert(!VMCPU_HMCF_IS_PENDING(pVCpu, HM_CHANGED_HOST_CONTEXT));
