Index: /trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts	(revision 75957)
+++ /trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts	(revision 75958)
@@ -10928,5 +10928,5 @@
     <message>
         <source>Enable Nested Pa&amp;ging</source>
-        <translation>В&amp;ключить  Nested Paging</translation>
+        <translation>В&amp;ключить Nested Paging</translation>
     </message>
     <message>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 75957)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 75958)
@@ -464,4 +464,17 @@
             pGeneralPage->is64BitOSTypeSelected() && !pSystemPage->isHWVirtExEnabled())
             m_machine.SetHWVirtExProperty(KHWVirtExPropertyType_Enabled, true);
+
+        /* System page fixes: */
+        if (pSystemPage)
+        {
+            /* Nested Paging: */
+            if (pSystemPage->isNestedPagingEnabled())
+            {
+                /* Enable HW Virt Ex if supported: */
+                if (   pSystemPage->isHWVirtExSupported()
+                    && !pSystemPage->isHWVirtExEnabled())
+                    m_machine.SetHWVirtExProperty(KHWVirtExPropertyType_Enabled, true);
+            }
+        }
 
 #ifdef VBOX_WITH_VIDEOHWACCEL
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.cpp	(revision 75957)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.cpp	(revision 75958)
@@ -73,4 +73,5 @@
         : m_fSupportedPAE(false)
         , m_fSupportedHwVirtEx(false)
+        , m_fSupportedNestedPaging(false)
         /* Motherboard data: */
         , m_iMemorySize(-1)
@@ -98,4 +99,5 @@
                && (m_fSupportedPAE == other.m_fSupportedPAE)
                && (m_fSupportedHwVirtEx == other.m_fSupportedHwVirtEx)
+               && (m_fSupportedNestedPaging == other.m_fSupportedNestedPaging)
                /* Motherboard data: */
                && (m_iMemorySize == other.m_iMemorySize)
@@ -126,4 +128,6 @@
     /** Holds whether the HW Virt Ex is supported. */
     bool  m_fSupportedHwVirtEx;
+    /** Holds whether the Nested Paging is supported. */
+    bool  m_fSupportedNestedPaging;
 
     /** Holds the RAM size. */
@@ -174,7 +178,24 @@
 }
 
+bool UIMachineSettingsSystem::isHWVirtExSupported() const
+{
+    AssertPtrReturn(m_pCache, false);
+    return m_pCache->base().m_fSupportedHwVirtEx;
+}
+
 bool UIMachineSettingsSystem::isHWVirtExEnabled() const
 {
     return m_pCheckBoxVirtualization->isChecked();
+}
+
+bool UIMachineSettingsSystem::isNestedPagingSupported() const
+{
+    AssertPtrReturn(m_pCache, false);
+    return m_pCache->base().m_fSupportedNestedPaging;
+}
+
+bool UIMachineSettingsSystem::isNestedPagingEnabled() const
+{
+    return m_pCheckBoxNestedPaging->isChecked();
 }
 
@@ -221,4 +242,5 @@
     oldSystemData.m_fSupportedPAE = vboxGlobal().host().GetProcessorFeature(KProcessorFeature_PAE);
     oldSystemData.m_fSupportedHwVirtEx = vboxGlobal().host().GetProcessorFeature(KProcessorFeature_HWVirtEx);
+    oldSystemData.m_fSupportedNestedPaging = vboxGlobal().host().GetProcessorFeature(KProcessorFeature_NestedPaging);
 
     /* Gather old 'Motherboard' data: */
@@ -329,5 +351,6 @@
     /* Gather support flags: */
     newSystemData.m_fSupportedPAE = m_pCache->base().m_fSupportedPAE;
-    newSystemData.m_fSupportedHwVirtEx = m_pCache->base().m_fSupportedHwVirtEx;
+    newSystemData.m_fSupportedHwVirtEx = isHWVirtExSupported();
+    newSystemData.m_fSupportedNestedPaging = isNestedPagingSupported();
 
     /* Gather 'Motherboard' data: */
@@ -357,6 +380,6 @@
     /* Gather 'Acceleration' data: */
     newSystemData.m_paravirtProvider = (KParavirtProvider)m_pComboParavirtProvider->itemData(m_pComboParavirtProvider->currentIndex()).toInt();
-    newSystemData.m_fEnabledHwVirtEx = m_pCheckBoxVirtualization->checkState() == Qt::Checked || m_pSliderCPUCount->value() > 1;
-    newSystemData.m_fEnabledNestedPaging = m_pCheckBoxNestedPaging->isChecked();
+    newSystemData.m_fEnabledHwVirtEx = isHWVirtExEnabled() || m_pSliderCPUCount->value() > 1;
+    newSystemData.m_fEnabledNestedPaging = isNestedPagingEnabled();
 
     /* Cache new system data: */
@@ -463,11 +486,15 @@
         }
 
-        /* VCPU vs VT-x/AMD-V test: */
-        if (m_pSliderCPUCount->value() > 1 && !m_pCheckBoxVirtualization->isChecked())
-        {
-            message.second << tr(
-                "The hardware virtualization is not currently enabled in the Acceleration section of the System page. "
-                "This is needed to support more than one virtual processor. "
-                "It will be enabled automatically if you confirm your changes.");
+        /* VCPU: */
+        if (m_pSliderCPUCount->value() > 1)
+        {
+            /* HW Virt Ex test: */
+            if (isHWVirtExSupported() && !isHWVirtExEnabled())
+            {
+                message.second << tr(
+                    "The hardware virtualization is not currently enabled in the Acceleration section of the System page. "
+                    "This is needed to support more than one virtual processor. "
+                    "It will be enabled automatically if you confirm your changes.");
+            }
         }
 
@@ -496,4 +523,5 @@
             messages << message;
     }
+
     /* Acceleration tab: */
     {
@@ -501,6 +529,7 @@
         UIValidationMessage message;
         message.first = VBoxGlobal::removeAccelMark(m_pTabWidgetSystem->tabText(2));
-        /* VT-x/AMD-V capability test: */
-        if (!vboxGlobal().host().GetProcessorFeature(KProcessorFeature_HWVirtEx) && m_pCheckBoxVirtualization->isChecked())
+
+        /* HW Virt Ex test: */
+        if (!isHWVirtExSupported() && isHWVirtExEnabled())
         {
             message.second << tr(
@@ -510,4 +539,18 @@
             fPass = false;
         }
+
+        /* Nested Paging: */
+        if (isNestedPagingEnabled())
+        {
+            /* HW Virt Ex test: */
+            if (isHWVirtExSupported() && !isHWVirtExEnabled())
+            {
+                message.second << tr(
+                    "The hardware virtualization is not currently enabled in the Acceleration section of the System page. "
+                    "This is needed for nested paging support. "
+                    "It will be enabled automatically if you confirm your changes.");
+            }
+        }
+
         /* Serialize message: */
         if (!message.second.isEmpty())
@@ -515,4 +558,5 @@
 
     }
+
     /* Return result: */
     return fPass;
@@ -613,9 +657,9 @@
 
     /* Polish 'Acceleration' availability: */
-    /* Enable the hardware virtulization related check-boxes if it is supported by the host system or
-     * it is currently enabled in the vm (in this case check-box is enabled so that user could
-     * uncheck it and that way disable the hardware virtualization. */
-    setAccelerationCheckBoxesEnabled(   (systemData.m_fSupportedHwVirtEx && isMachineOffline())
-                                     || (systemData.m_fEnabledHwVirtEx && isMachineOffline()));
+    m_pCheckBoxVirtualization->setEnabled(   (systemData.m_fSupportedHwVirtEx && isMachineOffline())
+                                          || (systemData.m_fEnabledHwVirtEx && isMachineOffline()));
+    m_pCheckBoxNestedPaging->setEnabled(   m_pCheckBoxVirtualization->isChecked()
+                                        && (   (systemData.m_fSupportedNestedPaging && isMachineOffline())
+                                            || (systemData.m_fEnabledNestedPaging && isMachineOffline())));
     m_pLabelParavirtProvider->setEnabled(isMachineOffline());
     m_pComboParavirtProvider->setEnabled(isMachineOffline());
@@ -737,4 +781,16 @@
     m_pSliderCPUExecCap->setValue(m_pEditorCPUExecCap->value());
     m_pSliderCPUExecCap->blockSignals(false);
+
+    /* Revalidate: */
+    revalidate();
+}
+
+void UIMachineSettingsSystem::sltHandleHwVirtExToggle()
+{
+    /* Update Nested Paging checkbox: */
+    AssertPtrReturnVoid(m_pCache);
+    m_pCheckBoxNestedPaging->setEnabled(   m_pCheckBoxVirtualization->isChecked()
+                                        && (   (m_pCache->base().m_fSupportedNestedPaging && isMachineOffline())
+                                            || (m_pCache->base().m_fEnabledNestedPaging && isMachineOffline())));
 
     /* Revalidate: */
@@ -944,5 +1000,5 @@
             /* Configure widgets: */
 #ifndef VBOX_WITH_RAW_MODE
-            /* Hide VT-x/AMD-V checkbox when raw-mode is not supported: */
+            /* Hide HW Virt Ex checkbox when raw-mode is not supported: */
             m_pWidgetPlaceholder->setVisible(false);
             m_pCheckBoxVirtualization->setVisible(false);
@@ -971,5 +1027,6 @@
 
     /* Configure 'Acceleration' connections: */
-    connect(m_pCheckBoxVirtualization, SIGNAL(stateChanged(int)), this, SLOT(revalidate()));
+    connect(m_pCheckBoxVirtualization, &QCheckBox::stateChanged,
+            this, &UIMachineSettingsSystem::sltHandleHwVirtExToggle);
 }
 
@@ -1257,8 +1314,2 @@
     return fSuccess;
 }
-
-void UIMachineSettingsSystem::setAccelerationCheckBoxesEnabled(bool fEnabled)
-{
-    m_pCheckBoxVirtualization->setEnabled(fEnabled);
-    m_pCheckBoxNestedPaging->setEnabled(fEnabled && m_pCheckBoxVirtualization->isChecked());
-}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.h	(revision 75957)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.h	(revision 75958)
@@ -40,6 +40,13 @@
     ~UIMachineSettingsSystem();
 
+    /** Returns whether the HW Virt Ex is supported. */
+    bool isHWVirtExSupported() const;
     /** Returns whether the HW Virt Ex is enabled. */
     bool isHWVirtExEnabled() const;
+
+    /** Returns whether the Nested Paging is supported. */
+    bool isNestedPagingSupported() const;
+    /** Returns whether the Nested Paging is enabled. */
+    bool isNestedPagingEnabled() const;
 
     /** Returns whether the HID is enabled. */
@@ -105,4 +112,7 @@
     void sltHandleCPUExecCapEditorChange();
 
+    /** Handles HW Virt Ex check-box toggling. */
+    void sltHandleHwVirtExToggle();
+
 private:
 
@@ -142,8 +152,4 @@
     bool saveAccelerationData();
 
-    /** Defines whether "hardware virtualization" and "nested paging" check-boxes
-      * (but not the "Paravirtualization Interface" combo-box) is @a fEnabled. */
-    void setAccelerationCheckBoxesEnabled(bool fEnabled);
-
     /** Holds the list of all possible boot items. */
     QList<KDeviceType>  m_possibleBootItems;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.ui
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.ui	(revision 75957)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.ui	(revision 75958)
@@ -674,11 +674,4 @@
  </customwidgets>
  <resources/>
- <connections>
-  <connection>
-   <sender>m_pCheckBoxVirtualization</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>m_pCheckBoxNestedPaging</receiver>
-   <slot>setEnabled(bool)</slot>
-  </connection>
- </connections>
+ <connections/>
 </ui>
