Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 83697)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 83698)
@@ -117,5 +117,5 @@
 
                 /* Add machine into tree: */
-                addMachineIntoTheTree(comMachine);
+                addLocalMachineIntoTheTree(comMachine);
             }
         }
@@ -375,5 +375,5 @@
 }
 
-void UIChooserAbstractModel::sltMachineRegistered(const QUuid &uMachineId, const bool fRegistered)
+void UIChooserAbstractModel::sltLocalMachineRegistered(const QUuid &uMachineId, const bool fRegistered)
 {
     /* Existing VM unregistered? */
@@ -393,5 +393,5 @@
             /* Add new machine-item: */
             const CMachine comMachine = uiCommon().virtualBox().FindMachine(uMachineId.toString());
-            addMachineIntoTheTree(comMachine, true /* make it visible */);
+            addLocalMachineIntoTheTree(comMachine, true /* make it visible */);
         }
     }
@@ -422,5 +422,5 @@
         /* Add new machine-item: */
         const CMachine comMachine = uiCommon().virtualBox().FindMachine(uMachineId.toString());
-        addMachineIntoTheTree(comMachine, true /* make it visible */);
+        addLocalMachineIntoTheTree(comMachine, true /* make it visible */);
     }
 }
@@ -525,5 +525,5 @@
             this, &UIChooserAbstractModel::sltMachineDataChanged);
     connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigMachineRegistered,
-            this, &UIChooserAbstractModel::sltMachineRegistered);
+            this, &UIChooserAbstractModel::sltLocalMachineRegistered);
     connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigSessionStateChange,
             this, &UIChooserAbstractModel::sltSessionStateChanged);
@@ -543,25 +543,28 @@
 }
 
-void UIChooserAbstractModel::addMachineIntoTheTree(const CMachine &comMachine, bool fMakeItVisible /* = false */)
+void UIChooserAbstractModel::addLocalMachineIntoTheTree(const CMachine &comMachine,
+                                                        bool fMakeItVisible /* = false */)
 {
     /* Make sure passed VM is not NULL: */
     if (comMachine.isNull())
-        LogRelFlow(("UIChooserModel: ERROR: Passed VM is NULL!\n"));
+        LogRelFlow(("UIChooserModel: ERROR: Passed local VM is NULL!\n"));
     AssertReturnVoid(!comMachine.isNull());
 
     /* Which VM we are loading: */
-    LogRelFlow(("UIChooserModel: Loading VM with ID={%s}...\n", toOldStyleUuid(comMachine.GetId()).toUtf8().constData()));
+    const QUuid uMachineId = comMachine.GetId();
+    LogRelFlow(("UIChooserModel: Loading local VM with ID={%s}...\n",
+                toOldStyleUuid(uMachineId).toUtf8().constData()));
     /* Is that machine accessible? */
     if (comMachine.GetAccessible())
     {
-        /* VM is accessible: */
+        /* Acquire VM name: */
         const QString strName = comMachine.GetName();
-        LogRelFlow(("UIChooserModel:  VM {%s} is accessible.\n", strName.toUtf8().constData()));
+        LogRelFlow(("UIChooserModel:  Local VM {%s} is accessible.\n", strName.toUtf8().constData()));
         /* Which groups passed machine attached to? */
         const QVector<QString> groups = comMachine.GetGroups();
         const QStringList groupList = groups.toList();
         const QString strGroups = groupList.join(", ");
-        LogRelFlow(("UIChooserModel:  VM {%s} has groups: {%s}.\n", strName.toUtf8().constData(),
-                                                                    strGroups.toUtf8().constData()));
+        LogRelFlow(("UIChooserModel:  Local VM {%s} has groups: {%s}.\n",
+                    strName.toUtf8().constData(), strGroups.toUtf8().constData()));
         foreach (QString strGroup, groups)
         {
@@ -570,10 +573,10 @@
                 strGroup.truncate(strGroup.size() - 1);
             /* Create machine-item with found group-item as parent: */
-            LogRelFlow(("UIChooserModel:   Creating item for VM {%s} in group {%s}.\n", strName.toUtf8().constData(),
-                                                                                        strGroup.toUtf8().constData()));
-            createMachineNode(getGroupNode(strGroup, invisibleRoot(), fMakeItVisible), comMachine);
+            LogRelFlow(("UIChooserModel:   Creating node for local VM {%s} in group {%s}.\n",
+                        strName.toUtf8().constData(), strGroup.toUtf8().constData()));
+            createLocalMachineNode(getLocalGroupNode(strGroup, invisibleRoot(), fMakeItVisible), comMachine);
         }
         /* Update group definitions: */
-        m_groups[toOldStyleUuid(comMachine.GetId())] = groupList;
+        m_groups[toOldStyleUuid(uMachineId)] = groupList;
     }
     /* Inaccessible machine: */
@@ -581,11 +584,12 @@
     {
         /* VM is accessible: */
-        LogRelFlow(("UIChooserModel:  VM {%s} is inaccessible.\n", toOldStyleUuid(comMachine.GetId()).toUtf8().constData()));
+        LogRelFlow(("UIChooserModel:  Local VM {%s} is inaccessible.\n",
+                    toOldStyleUuid(uMachineId).toUtf8().constData()));
         /* Create machine-item with main-root group-item as parent: */
-        createMachineNode(invisibleRoot(), comMachine);
-    }
-}
-
-UIChooserNode *UIChooserAbstractModel::getGroupNode(const QString &strName, UIChooserNode *pParentNode, bool fAllGroupsOpened)
+        createLocalMachineNode(invisibleRoot(), comMachine);
+    }
+}
+
+UIChooserNode *UIChooserAbstractModel::getLocalGroupNode(const QString &strName, UIChooserNode *pParentNode, bool fAllGroupsOpened)
 {
     /* Check passed stuff: */
@@ -607,7 +611,8 @@
         foreach (UIChooserNode *pGroupNode, pParentNode->nodes(UIChooserNodeType_Group))
         {
-            if (pGroupNode->name() == strSecondSubName)
+            if (   pGroupNode->toGroupNode()->groupType() == UIChooserNodeGroupType_Local
+                && pGroupNode->name() == strSecondSubName)
             {
-                UIChooserNode *pFoundNode = getGroupNode(strFirstSuffix, pGroupNode, fAllGroupsOpened);
+                UIChooserNode *pFoundNode = getLocalGroupNode(strFirstSuffix, pGroupNode, fAllGroupsOpened);
                 if (UIChooserNodeGroup *pFoundGroupNode = pFoundNode->toGroupNode())
                     if (fAllGroupsOpened && pFoundGroupNode->isClosed())
@@ -626,5 +631,5 @@
                                UIChooserNodeGroupType_Local,
                                fAllGroupsOpened || shouldGroupNodeBeOpened(pParentNode, strSecondSubName));
-    return strSecondSuffix.isEmpty() ? pNewGroupNode : getGroupNode(strFirstSuffix, pNewGroupNode, fAllGroupsOpened);
+    return strSecondSuffix.isEmpty() ? pNewGroupNode : getLocalGroupNode(strFirstSuffix, pNewGroupNode, fAllGroupsOpened);
 }
 
@@ -787,5 +792,5 @@
 }
 
-void UIChooserAbstractModel::createMachineNode(UIChooserNode *pParentNode, const CMachine &comMachine)
+void UIChooserAbstractModel::createLocalMachineNode(UIChooserNode *pParentNode, const CMachine &comMachine)
 {
     /* Create machine node: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 83697)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 83698)
@@ -132,6 +132,6 @@
         /** Handles machine data change for machine with certain @a uMachineId. */
         virtual void sltMachineDataChanged(const QUuid &uMachineId);
-        /** Handles machine registering/unregistering for machine with certain @a uMachineId. */
-        virtual void sltMachineRegistered(const QUuid &uMachineId, const bool fRegistered);
+        /** Handles local machine registering/unregistering for machine with certain @a uMachineId. */
+        virtual void sltLocalMachineRegistered(const QUuid &uMachineId, const bool fRegistered);
         /** Handles session @a enmState change for machine with certain @a uMachineId. */
         virtual void sltSessionStateChanged(const QUuid &uMachineId, const KSessionState enmState);
@@ -174,11 +174,13 @@
     /** @name Children stuff.
       * @{ */
-        /** Adds machine item based on certain @a comMachine and optionally @a fMakeItVisible. */
-        void addMachineIntoTheTree(const CMachine &comMachine, bool fMakeItVisible = false);
-        /** Acquires group node, creates one if necessary.
+        /** Adds local machine item based on certain @a comMachine and optionally @a fMakeItVisible. */
+        void addLocalMachineIntoTheTree(const CMachine &comMachine, bool fMakeItVisible = false);
+
+        /** Acquires local group node, creates one if necessary.
           * @param  strName           Brings the name of group we looking for.
           * @param  pParentNode       Brings the parent we starting to look for a group from.
           * @param  fAllGroupsOpened  Brings whether we should open all the groups till the required one. */
-        UIChooserNode *getGroupNode(const QString &strName, UIChooserNode *pParentNode, bool fAllGroupsOpened);
+        UIChooserNode *getLocalGroupNode(const QString &strName, UIChooserNode *pParentNode, bool fAllGroupsOpened);
+
         /** Returns whether group node with certain @a strName should be opened, searching starting from the passed @a pParentItem. */
         bool shouldGroupNodeBeOpened(UIChooserNode *pParentNode, const QString &strName);
@@ -195,6 +197,6 @@
         int getDefinedNodePosition(UIChooserNode *pParentNode, UIChooserNodeType enmType, const QString &strName);
 
-        /** Creates machine node based on certain @a comMachine as a child of specified @a pParentNode. */
-        void createMachineNode(UIChooserNode *pParentNode, const CMachine &comMachine);
+        /** Creates local machine node based on certain @a comMachine as a child of specified @a pParentNode. */
+        void createLocalMachineNode(UIChooserNode *pParentNode, const CMachine &comMachine);
     /** @} */
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 83697)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 83698)
@@ -653,8 +653,8 @@
 }
 
-void UIChooserModel::sltMachineRegistered(const QUuid &uId, const bool fRegistered)
+void UIChooserModel::sltLocalMachineRegistered(const QUuid &uId, const bool fRegistered)
 {
     /* Call to base-class: */
-    UIChooserAbstractModel::sltMachineRegistered(uId, fRegistered);
+    UIChooserAbstractModel::sltLocalMachineRegistered(uId, fRegistered);
 
     /* Existing VM unregistered? */
@@ -689,8 +689,7 @@
 
             /* Select newly added item: */
-            CMachine comMachine = uiCommon().virtualBox().FindMachine(uId.toString());
-            setSelectedItem(root()->searchForItem(comMachine.GetName(),
-                                                 UIChooserItemSearchFlag_Machine |
-                                                 UIChooserItemSearchFlag_ExactName));
+            setSelectedItem(root()->searchForItem(uId.toString(),
+                                                  UIChooserItemSearchFlag_Machine |
+                                                  UIChooserItemSearchFlag_ExactId));
         }
     }
@@ -1167,5 +1166,5 @@
     /* If we have something local to unregister: */
     if (!localMachinesToUnregister.isEmpty())
-        unregisterMachines(localMachinesToUnregister);
+        unregisterLocalMachines(localMachinesToUnregister);
 }
 
@@ -1634,5 +1633,5 @@
 }
 
-void UIChooserModel::unregisterMachines(const QList<CMachine> &machines)
+void UIChooserModel::unregisterLocalMachines(const QList<CMachine> &machines)
 {
     /* Confirm machine removal: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 83697)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 83698)
@@ -247,6 +247,6 @@
     /** @name Main event handling stuff.
       * @{ */
-        /** Handles machine registering/unregistering for machine with certain @a uId. */
-        virtual void sltMachineRegistered(const QUuid &uId, const bool fRegistered) /* override */;
+        /** Handles local machine registering/unregistering for machine with certain @a uId. */
+        virtual void sltLocalMachineRegistered(const QUuid &uId, const bool fRegistered) /* override */;
     /** @} */
 
@@ -363,6 +363,6 @@
         /** Removes machine @a items. */
         void removeItems(const QList<UIChooserItem*> &items);
-        /** Unregisters a list of virtual @a machines. */
-        void unregisterMachines(const QList<CMachine> &machines);
+        /** Unregisters a list of local virtual @a machines. */
+        void unregisterLocalMachines(const QList<CMachine> &machines);
 
         /** Processes drag move @a pEvent. */
