Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.cpp	(revision 45034)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.cpp	(revision 45035)
@@ -60,4 +60,5 @@
 const char* UIDefs::GUI_SaveMountedAtRuntime = "GUI/SaveMountedAtRuntime";
 const char* UIDefs::GUI_PassCAD = "GUI/PassCAD";
+const char* UIDefs::GUI_HideFromManager = "GUI/HideFromManager";
 
 /* Mini tool-bar definitions: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.h	(revision 45034)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.h	(revision 45035)
@@ -137,4 +137,5 @@
     extern const char* GUI_SaveMountedAtRuntime;
     extern const char* GUI_PassCAD;
+    extern const char* GUI_HideFromManager;
 
     /* Mini tool-bar declarations: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 45034)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 45035)
@@ -597,11 +597,11 @@
 void UIGChooserModel::sltMachineRegistered(QString strId, bool fRegistered)
 {
-    /* New VM registered? */
+    /* New machine registered? */
     if (fRegistered)
     {
         /* Search for corresponding machine: */
         CMachine machine = vboxGlobal().virtualBox().FindMachine(strId);
-        /* Machine was found? */
-        if (!machine.isNull())
+        /* Should we show this machine? */
+        if (shouldWeShowMachine(machine))
         {
             /* Add new machine-item: */
@@ -615,5 +615,5 @@
         }
     }
-    /* Existing VM unregistered? */
+    /* Existing machine unregistered? */
     else
     {
@@ -884,15 +884,13 @@
     /* Remove all the items first: */
     mainRoot()->removeAll(strId);
-
-    /* Check if such machine still present: */
+    /* Update model: */
+    cleanupGroupTree();
+
+    /* Should we show this machine? */
     CMachine machine = vboxGlobal().virtualBox().FindMachine(strId);
-    if (machine.isNull())
-        return;
-
-    /* Add machine into the tree: */
-    addMachineIntoTheTree(machine);
-
-    /* And update model: */
-    cleanupGroupTree();
+    if (shouldWeShowMachine(machine))
+        addMachineIntoTheTree(machine);
+
+    /* Update model: */
     updateNavigation();
     updateLayout();
@@ -1616,8 +1614,9 @@
 void UIGChooserModel::loadGroupTree()
 {
-    /* Add all the machines we have into the group-tree: */
+    /* Add all the approved machines we have into the group-tree: */
     LogRel(("Loading VMs started...\n"));
-    foreach (const CMachine &machine, vboxGlobal().virtualBox().GetMachines())
-        addMachineIntoTheTree(machine);
+    foreach (CMachine machine, vboxGlobal().virtualBox().GetMachines())
+        if (shouldWeShowMachine(machine))
+            addMachineIntoTheTree(machine);
     LogRel(("Loading VMs finished.\n"));
 }
@@ -1835,4 +1834,18 @@
 }
 
+/* static */
+bool UIGChooserModel::shouldWeShowMachine(CMachine &machine)
+{
+    /* False for null machines: */
+    if (machine.isNull())
+        return false;
+
+    /* Check corresponding extra-data flag: */
+    QString strMachineIgnored(machine.GetExtraData(GUI_HideFromManager));
+    return    strMachineIgnored.compare("true", Qt::CaseInsensitive) != 0
+           && strMachineIgnored.compare("yes", Qt::CaseInsensitive) != 0
+           && strMachineIgnored != "1";
+}
+
 void UIGChooserModel::saveGroupDefinitions()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 45034)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 45035)
@@ -266,4 +266,5 @@
     int positionFromDefinitions(UIGChooserItem *pParentItem, UIGChooserItemType type, const QString &strName);
     void createMachineItem(const CMachine &machine, UIGChooserItem *pParentItem);
+    static bool shouldWeShowMachine(CMachine &machine);
 
     /* Helpers: Saving stuff: */
