Index: /trunk/src/VBox/VMM/VMMR3/HM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 85853)
+++ /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 85854)
@@ -315,10 +315,12 @@
     /** @cfgm{/HM/EnableNestedPaging, bool, false}
      * Enables nested paging (aka extended page tables). */
-    rc = CFGMR3QueryBoolDef(pCfgHm, "EnableNestedPaging", &pVM->hm.s.fAllowNestedPaging, false);
+    bool fAllowNestedPaging = false;
+    rc = CFGMR3QueryBoolDef(pCfgHm, "EnableNestedPaging", &fAllowNestedPaging, false);
     AssertRCReturn(rc, rc);
 
     /** @cfgm{/HM/EnableUX, bool, true}
      * Enables the VT-x unrestricted execution feature. */
-    rc = CFGMR3QueryBoolDef(pCfgHm, "EnableUX", &pVM->hm.s.vmx.fAllowUnrestricted, true);
+    bool fAllowUnrestricted = true;
+    rc = CFGMR3QueryBoolDef(pCfgHm, "EnableUX", &fAllowUnrestricted, true);
     AssertRCReturn(rc, rc);
 
@@ -568,25 +570,19 @@
              * configured so that CPUM can make decisions based on our configuration.
              */
-            Assert(!pVM->hm.s.fNestedPaging);
-            if (pVM->hm.s.fAllowNestedPaging)
+            if (   fAllowNestedPaging
+                && (fCaps & SUPVTCAPS_NESTED_PAGING))
             {
-                if (fCaps & SUPVTCAPS_NESTED_PAGING)
-                    pVM->hm.s.fNestedPaging = true;
-                else
-                    pVM->hm.s.fAllowNestedPaging = false;
-            }
-
-            if (fCaps & SUPVTCAPS_VT_X)
-            {
-                Assert(!pVM->hm.s.vmx.fUnrestrictedGuest);
-                if (pVM->hm.s.vmx.fAllowUnrestricted)
+                pVM->hm.s.fNestedPaging = true;
+                if (fCaps & SUPVTCAPS_VT_X)
                 {
-                    if (   (fCaps & SUPVTCAPS_VTX_UNRESTRICTED_GUEST)
-                        && pVM->hm.s.fNestedPaging)
+                    if (   fAllowUnrestricted
+                        && (fCaps & SUPVTCAPS_VTX_UNRESTRICTED_GUEST))
                         pVM->hm.s.vmx.fUnrestrictedGuest = true;
                     else
-                        pVM->hm.s.vmx.fAllowUnrestricted = false;
+                        Assert(!pVM->hm.s.vmx.fUnrestrictedGuest);
                 }
             }
+            else
+                Assert(!pVM->hm.s.fNestedPaging);
         }
         else
Index: /trunk/src/VBox/VMM/include/HMInternal.h
===================================================================
--- /trunk/src/VBox/VMM/include/HMInternal.h	(revision 85853)
+++ /trunk/src/VBox/VMM/include/HMInternal.h	(revision 85854)
@@ -452,6 +452,4 @@
     /** Set when we've initialized VMX or SVM. */
     bool                        fInitialized;
-    /** Set if nested paging is allowed. */
-    bool                        fAllowNestedPaging;
     /** Set if large pages are enabled (requires nested paging). */
     bool                        fLargePages;
@@ -486,5 +484,5 @@
     bool                        fMdsClearOnSched;
     /** Alignment padding. */
-    bool                        afPaddingMinus1[6];
+    bool                        afPaddingMinus1[7];
 
     /** Maximum ASID allowed. */
@@ -518,10 +516,10 @@
          *  without paging). */
         bool                        fUnrestrictedGuest;
-        /** Set if unrestricted guest execution is allowed to be used. */
-        bool                        fAllowUnrestricted;
         /** Set if the preemption timer is in use or not. */
         bool                        fUsePreemptTimer;
         /** The shift mask employed by the VMX-Preemption timer. */
         uint8_t                     cPreemptTimerShift;
+        /** Padding. */
+        bool                        afPadding0;
 
         /** Virtual address of the APIC-access page. */
