Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialog.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialog.cpp	(revision 37614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialog.cpp	(revision 37615)
@@ -268,4 +268,9 @@
         m_pWarningPane->setWarningText(m_strWarningHint);
 
+#ifndef VBOX_GUI_WITH_TOOLBAR_SETTINGS
+    /* Retranslate current page headline: */
+    m_pLbTitle->setText(m_pSelector->itemText(m_pSelector->currentId()));
+#endif /* VBOX_GUI_WITH_TOOLBAR_SETTINGS */
+
     /* Get the list of validators: */
     QList<QIWidgetValidator*> validatorsList = findChildren<QIWidgetValidator*>();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 37614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 37615)
@@ -470,4 +470,7 @@
 void UISettingsDialogGlobal::retranslateUi()
 {
+    /* Base-class UI translation: */
+    UISettingsDialog::retranslateUi();
+
     /* Set dialog's name: */
     setWindowTitle(title());
@@ -499,7 +502,4 @@
     /* Translate the selector: */
     m_pSelector->polish();
-
-    /* Base-class UI translation: */
-    UISettingsDialog::retranslateUi();
 }
 
@@ -562,5 +562,5 @@
     connect(&vboxGlobal(), SIGNAL(mediumEnumFinished(const VBoxMediaList &)), this, SLOT(sltAllowResetFirstRunFlag()));
 
-    /* Get corresponding machine (required to determine dialog type): */
+    /* Get corresponding machine (required to determine dialog type and page availability): */
     m_machine = vboxGlobal().virtualBox().FindMachine(m_strMachineId);
     AssertMsg(!m_machine.isNull(), ("Can't find corresponding machine!\n"));
@@ -854,12 +854,21 @@
 void UISettingsDialogMachine::retranslateUi()
 {
+    /* We have to make sure that the Network, Serial & Parallel pages are retranslated
+     * before they are revalidated. Cause: They do string comparing within
+     * vboxGlobal which is retranslated at that point already: */
+    QEvent event(QEvent::LanguageChange);
+    if (QWidget *pPage = m_pSelector->idToPage(VMSettingsPage_Network))
+        qApp->sendEvent(pPage, &event);
+    if (QWidget *pPage = m_pSelector->idToPage(VMSettingsPage_Serial))
+        qApp->sendEvent(pPage, &event);
+    if (QWidget *pPage = m_pSelector->idToPage(VMSettingsPage_Parallel))
+        qApp->sendEvent(pPage, &event);
+
+    /* Base-class UI translation: */
+    UISettingsDialog::retranslateUi();
+
     /* Set dialog's name: */
     setWindowTitle(title());
 
-    /* We have to make sure that the Serial & Network subpages are retranslated
-     * before they are revalidated. Cause: They do string comparing within
-     * vboxGlobal which is retranslated at that point already. */
-    QEvent event(QEvent::LanguageChange);
-
     /* General page: */
     m_pSelector->setItemText(VMSettingsPage_General, tr("General"));
@@ -879,6 +888,4 @@
     /* Network page: */
     m_pSelector->setItemText(VMSettingsPage_Network, tr("Network"));
-    if (QWidget *pPage = m_pSelector->idToPage(VMSettingsPage_Network))
-        qApp->sendEvent(pPage, &event);
 
     /* Ports page: */
@@ -887,11 +894,7 @@
     /* Serial page: */
     m_pSelector->setItemText(VMSettingsPage_Serial, tr("Serial Ports"));
-    if (QWidget *pPage = m_pSelector->idToPage(VMSettingsPage_Serial))
-        qApp->sendEvent(pPage, &event);
 
     /* Parallel page: */
     m_pSelector->setItemText(VMSettingsPage_Parallel, tr("Parallel Ports"));
-    if (QWidget *pPage = m_pSelector->idToPage(VMSettingsPage_Parallel))
-        qApp->sendEvent(pPage, &event);
 
     /* USB page: */
@@ -903,16 +906,4 @@
     /* Translate the selector: */
     m_pSelector->polish();
-
-    /* Base-class UI translation: */
-    UISettingsDialog::retranslateUi();
-
-    /* Revalidate all pages to retranslate the warning messages also: */
-    QList<QIWidgetValidator*> validators = findChildren<QIWidgetValidator*>();
-    for (int i = 0; i < validators.size(); ++i)
-    {
-        QIWidgetValidator *pValidator = validators[i];
-        if (!pValidator->isValid())
-            sltRevalidate(pValidator);
-    }
 }
 
@@ -920,6 +911,8 @@
 {
     QString strDialogTitle;
-    if (!m_machine.isNull())
-        strDialogTitle = tr("%1 - %2").arg(m_machine.GetName()).arg(titleExtension());
+    /* Get corresponding machine (required to compose dialog title): */
+    const CMachine &machine = vboxGlobal().virtualBox().FindMachine(m_strMachineId);
+    if (!machine.isNull())
+        strDialogTitle = tr("%1 - %2").arg(machine.GetName()).arg(titleExtension());
     return strDialogTitle;
 }
