Index: /trunk/src/VBox/VMM/VMMR0/HMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMR0.cpp	(revision 56618)
+++ /trunk/src/VBox/VMM/VMMR0/HMR0.cpp	(revision 56619)
@@ -344,4 +344,7 @@
     {
         /** @todo move this into a separate function. */
+        /* Read this MSR now as it may be useful for error reporting when initializing VT-x fails. */
+        g_HmR0.vmx.Msrs.u64FeatureCtrl = ASMRdMsr(MSR_IA32_FEATURE_CONTROL);
+
         /*
          * First try use native kernel API for controlling VT-x.
@@ -372,4 +375,7 @@
         if (RT_SUCCESS(g_HmR0.lLastError))
         {
+            /* Reread in case it was changed by SUPR0GetVmxUsability(). */
+            g_HmR0.vmx.Msrs.u64FeatureCtrl = ASMRdMsr(MSR_IA32_FEATURE_CONTROL);
+
             /*
              * Read all relevant registers and MSRs.
@@ -377,5 +383,4 @@
             g_HmR0.vmx.u64HostCr4          = ASMGetCR4();
             g_HmR0.vmx.u64HostEfer         = ASMRdMsr(MSR_K6_EFER);
-            g_HmR0.vmx.Msrs.u64FeatureCtrl = ASMRdMsr(MSR_IA32_FEATURE_CONTROL);
             g_HmR0.vmx.Msrs.u64BasicInfo   = ASMRdMsr(MSR_IA32_VMX_BASIC_INFO);
             g_HmR0.vmx.Msrs.VmxPinCtls.u   = ASMRdMsr(MSR_IA32_VMX_PINBASED_CTLS);
