Index: /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 45412)
+++ /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 45413)
@@ -2795,11 +2795,11 @@
             Log(("VMX_VMCS64_CTRL_EPTP_FULL=%#RX64\n", pVCpu->hm.s.vmx.GCPhysEPTP));
 
-            if (   CPUMIsGuestPagingEnabledEx(pCtx)
-                || pVM->hm.s.vmx.fUnrestrictedGuest)
+            if (   pVM->hm.s.vmx.fUnrestrictedGuest
+                || CPUMIsGuestPagingEnabledEx(pCtx))
             {
                 /* If the guest is in PAE mode, pass the PDPEs to VT-x using the VMCS fields. */
                 if (CPUMIsGuestInPAEModeEx(pCtx))
                 {
-                    rc = PGMGstGetPaePdpes(pVCpu, &pVCpu->hm.s.aPdpes[0]);
+                    rc  = PGMGstGetPaePdpes(pVCpu, &pVCpu->hm.s.aPdpes[0]);
                     rc |= VMXWriteVmcs64(VMX_VMCS64_GUEST_PDPTE0_FULL, pVCpu->hm.s.aPdpes[0].u);
                     rc |= VMXWriteVmcs64(VMX_VMCS64_GUEST_PDPTE1_FULL, pVCpu->hm.s.aPdpes[1].u);
@@ -5267,5 +5267,5 @@
         return VINF_SUCCESS;
 
-    VMMRZCallRing3Disable(pVCpu);   /* We're not using hmR0VmxCallRing3Disable() as we want to respect nesting here. */
+    VMMRZCallRing3Disable(pVCpu);
 
     int rc = hmR0VmxSaveGuestGprs(pVM, pVCpu, pMixedCtx);
@@ -7532,6 +7532,7 @@
         case VMX_EXIT_QUALIFICATION_CRX_ACCESS_CLTS:        /* CLTS (Clear Task-Switch Flag in CR0) */
         {
-            rc  = hmR0VmxSaveGuestCR0(pVM, pVCpu, pMixedCtx);
-            rc |= EMInterpretCLTS(pVM, pVCpu);
+            rc = hmR0VmxSaveGuestCR0(pVM, pVCpu, pMixedCtx);
+            AssertRCReturn(rc, rc);
+            rc = EMInterpretCLTS(pVM, pVCpu);
             AssertRCReturn(rc, rc);
             pVCpu->hm.s.fContextUseFlags |= HM_CHANGED_GUEST_CR0;
@@ -7543,5 +7544,5 @@
         case VMX_EXIT_QUALIFICATION_CRX_ACCESS_LMSW:        /* LMSW (Load Machine-Status Word into CR0) */
         {
-            rc  = hmR0VmxSaveGuestCR0(pVM, pVCpu, pMixedCtx);
+            rc = hmR0VmxSaveGuestCR0(pVM, pVCpu, pMixedCtx);
             AssertRCReturn(rc, rc);
             rc = EMInterpretLMSW(pVM, pVCpu, CPUMCTX2CORE(pMixedCtx), VMX_EXIT_QUALIFICATION_CRX_LMSW_DATA(uExitQualification));
