Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 68341)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 68342)
@@ -864,4 +864,5 @@
     switch (enmToolTypeMachine)
     {
+        case ToolTypeMachine_Invalid:   strResult = "None"; break;
         case ToolTypeMachine_Details:   strResult = "Details"; break;
         case ToolTypeMachine_Snapshots: strResult = "Snapshots"; break;
@@ -881,4 +882,5 @@
      * to search through the keys using 'case-insensitive' rule: */
     QStringList keys;    QList<ToolTypeMachine> values;
+    keys << "None";      values << ToolTypeMachine_Invalid;
     keys << "Details";   values << ToolTypeMachine_Details;
     keys << "Snapshots"; values << ToolTypeMachine_Snapshots;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 68341)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 68342)
@@ -2688,14 +2688,19 @@
 {
     /* Prepare result: */
-    QList<ToolTypeMachine> result;
+    QList<ToolTypeMachine> aLoadedOrder;
     /* Get machine tools order: */
     foreach (const QString &strValue, extraDataStringList(GUI_Toolbar_MachineTools_Order))
     {
         const ToolTypeMachine enmValue = gpConverter->fromInternalString<ToolTypeMachine>(strValue);
-        if (enmValue != ToolTypeMachine_Invalid && !result.contains(enmValue))
-            result << enmValue;
-    }
+        if (!aLoadedOrder.contains(enmValue))
+            aLoadedOrder << enmValue;
+    }
+
+    /* If the list is empty => add 'Details' at least: */
+    if (aLoadedOrder.isEmpty())
+        aLoadedOrder << ToolTypeMachine_Details;
+
     /* Return result: */
-    return result;
+    return aLoadedOrder;
 }
 
@@ -2703,10 +2708,14 @@
 {
     /* Parse passed list: */
-    QStringList aSerializedOrder;
+    QStringList aSavedOrder;
     foreach (const ToolTypeMachine &enmToolType, aOrder)
-        aSerializedOrder << gpConverter->toInternalString(enmToolType);
+        aSavedOrder << gpConverter->toInternalString(enmToolType);
+
+    /* If the list is empty => add 'None' at least: */
+    if (aSavedOrder.isEmpty())
+        aSavedOrder << gpConverter->toInternalString(ToolTypeMachine_Invalid);
 
     /* Re-cache corresponding extra-data: */
-    setExtraDataStringList(GUI_Toolbar_MachineTools_Order, aSerializedOrder);
+    setExtraDataStringList(GUI_Toolbar_MachineTools_Order, aSavedOrder);
 }
 
@@ -2714,14 +2723,15 @@
 {
     /* Prepare result: */
-    QList<ToolTypeGlobal> result;
+    QList<ToolTypeGlobal> aLoadedOrder;
     /* Get global tools order: */
     foreach (const QString &strValue, extraDataStringList(GUI_Toolbar_GlobalTools_Order))
     {
         const ToolTypeGlobal enmValue = gpConverter->fromInternalString<ToolTypeGlobal>(strValue);
-        if (enmValue != ToolTypeGlobal_Invalid && !result.contains(enmValue))
-            result << enmValue;
-    }
+        if (enmValue != ToolTypeGlobal_Invalid && !aLoadedOrder.contains(enmValue))
+            aLoadedOrder << enmValue;
+    }
+
     /* Return result: */
-    return result;
+    return aLoadedOrder;
 }
 
@@ -2729,10 +2739,10 @@
 {
     /* Parse passed list: */
-    QStringList aSerializedOrder;
+    QStringList aSavedOrder;
     foreach (const ToolTypeGlobal &enmToolType, aOrder)
-        aSerializedOrder << gpConverter->toInternalString(enmToolType);
+        aSavedOrder << gpConverter->toInternalString(enmToolType);
 
     /* Re-cache corresponding extra-data: */
-    setExtraDataStringList(GUI_Toolbar_GlobalTools_Order, aSerializedOrder);
+    setExtraDataStringList(GUI_Toolbar_GlobalTools_Order, aSavedOrder);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 68341)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 68342)
@@ -161,5 +161,6 @@
         mapActionsMachine[ToolTypeMachine_Snapshots] = actionPool()->action(UIActionIndexST_M_Tools_M_Machine_Snapshots);
         for (int i = m_orderMachine.size() - 1; i >= 0; --i)
-            mapActionsMachine.value(m_orderMachine.at(i))->trigger();
+            if (m_orderMachine.at(i) != ToolTypeMachine_Invalid)
+                mapActionsMachine.value(m_orderMachine.at(i))->trigger();
         /* Make sure further action triggering cause tool type switch as well: */
         actionPool()->action(UIActionIndexST_M_Tools_T_Machine)->setProperty("watch_child_activation", true);
@@ -2133,5 +2134,6 @@
         mapActionsGlobal[ToolTypeGlobal_HostNetwork] = actionPool()->action(UIActionIndexST_M_Tools_M_Global_HostNetworkManager);
         for (int i = m_orderGlobal.size() - 1; i >= 0; --i)
-            mapActionsGlobal.value(m_orderGlobal.at(i))->trigger();
+            if (m_orderGlobal.at(i) != ToolTypeGlobal_Invalid)
+                mapActionsGlobal.value(m_orderGlobal.at(i))->trigger();
         /* Make sure further action triggering cause tool type switch as well: */
         actionPool()->action(UIActionIndexST_M_Tools_T_Global)->setProperty("watch_child_activation", true);
