Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 86607)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 86608)
@@ -2576,4 +2576,11 @@
 }
 
+void UICommon::notifyCloudMachineUnregistered(const QString &strProviderShortName,
+                                              const QString &strProfileName,
+                                              const QUuid &uId)
+{
+    emit sigCloudMachineUnregistered(strProviderShortName, strProfileName, uId);
+}
+
 void UICommon::notifyCloudMachineRegistered(const QString &strProviderShortName,
                                             const QString &strProfileName,
@@ -2581,12 +2588,4 @@
 {
     emit sigCloudMachineRegistered(strProviderShortName, strProfileName, comMachine);
-}
-
-void UICommon::notifyCloudMachineRegistrationChanged(const QString &strProviderShortName,
-                                                     const QString &strProfileName,
-                                                     const QUuid &uId,
-                                                     const bool fRegistered)
-{
-    emit sigCloudMachineRegistrationChanged(strProviderShortName, strProfileName, uId, fRegistered);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h	(revision 86607)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h	(revision 86608)
@@ -88,4 +88,11 @@
     /** @name Cloud Virtual Machine stuff.
      * @{ */
+        /** Notifies listeners about cloud VM was unregistered.
+          * @param  strProviderShortName  Brings provider short name.
+          * @param  strProfileName        Brings profile name.
+          * @param  uId                   Brings cloud VM id. */
+        void sigCloudMachineUnregistered(const QString &strProviderShortName,
+                                         const QString &strProfileName,
+                                         const QUuid &uId);
         /** Notifies listeners about cloud VM was registered.
           * @param  strProviderShortName  Brings provider short name.
@@ -95,13 +102,4 @@
                                        const QString &strProfileName,
                                        const CCloudMachine &comMachine);
-        /** Notifies listeners about cloud VM registeration changed.
-          * @param  strProviderShortName  Brings provider short name.
-          * @param  strProfileName        Brings profile name.
-          * @param  uId                   Brings cloud VM id.
-          * @param  fRegistered           True is machine was registered, false otherwise. */
-        void sigCloudMachineRegistrationChanged(const QString &strProviderShortName,
-                                                const QString &strProfileName,
-                                                const QUuid &uId,
-                                                const bool fRegistered);
     /** @} */
 
@@ -510,4 +508,11 @@
     /** @name Cloud Virtual Machine stuff.
      * @{ */
+        /** Notifies listeners about cloud VM was unregistered.
+          * @param  strProviderShortName  Brings provider short name.
+          * @param  strProfileName        Brings profile name.
+          * @param  uId                   Brings cloud VM id. */
+        void notifyCloudMachineUnregistered(const QString &strProviderShortName,
+                                            const QString &strProfileName,
+                                            const QUuid &uId);
         /** Notifies listeners about cloud VM was registered.
           * @param  strProviderShortName  Brings provider short name.
@@ -517,13 +522,4 @@
                                           const QString &strProfileName,
                                           const CCloudMachine &comMachine);
-        /** Notifies listeners about cloud VM registeration changed.
-          * @param  strProviderShortName  Brings provider short name.
-          * @param  strProfileName        Brings profile name.
-          * @param  uId                   Brings cloud VM id.
-          * @param  fRegistered           True is machine was registered, false otherwise. */
-        void notifyCloudMachineRegistrationChanged(const QString &strProviderShortName,
-                                                   const QString &strProfileName,
-                                                   const QUuid &uId,
-                                                   const bool fRegistered);
     /** @} */
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 86607)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 86608)
@@ -691,7 +691,7 @@
 }
 
-void UIChooserAbstractModel::sltCloudMachineRegistered(const QString &strProviderShortName,
-                                                       const QString &strProfileName,
-                                                       const CCloudMachine &comMachine)
+void UIChooserAbstractModel::sltCloudMachineUnregistered(const QString &strProviderShortName,
+                                                         const QString &strProfileName,
+                                                         const QUuid &uId)
 {
     /* Search for profile node: */
@@ -703,18 +703,17 @@
         return;
 
-    /* Add new machine-item: */
-    addCloudMachineIntoTheTree(strProfileNodeName, comMachine, true /* make it visible? */);
-
-    /* Search for possible fake node: */
-    QList<UIChooserNode*> fakeNodes;
-    pProfileNode->searchForNodes(QUuid().toString(), UIChooserItemSearchFlag_Machine | UIChooserItemSearchFlag_ExactId, fakeNodes);
-    /* Delete fake node if present: */
-    delete fakeNodes.value(0);
-}
-
-void UIChooserAbstractModel::sltCloudMachineRegistrationChanged(const QString &strProviderShortName,
-                                                                const QString &strProfileName,
-                                                                const QUuid &uMachineId,
-                                                                const bool fRegistered)
+    /* Remove machine-item with passed uId: */
+    pProfileNode->removeAllNodes(uId);
+
+    /* If there are no items left => add fake cloud VM node: */
+    if (pProfileNode->nodes(UIChooserNodeType_Machine).isEmpty())
+        new UIChooserNodeMachine(pProfileNode /* parent */,
+                                 0 /* position */,
+                                 UIFakeCloudVirtualMachineItemState_Done);
+}
+
+void UIChooserAbstractModel::sltCloudMachineRegistered(const QString &strProviderShortName,
+                                                       const QString &strProfileName,
+                                                       const CCloudMachine &comMachine)
 {
     /* Search for profile node: */
@@ -726,32 +725,12 @@
         return;
 
-    /* Existing VM unregistered? */
-    if (!fRegistered)
-    {
-        /* Remove machine-items with passed id: */
-        pProfileNode->removeAllNodes(uMachineId);
-
-        /* If there are no items left: */
-        if (pProfileNode->nodes(UIChooserNodeType_Machine).isEmpty())
-        {
-            /* Add fake cloud VM item: */
-            new UIChooserNodeMachine(pProfileNode /* parent */,
-                                     0 /* position */,
-                                     UIFakeCloudVirtualMachineItemState_Done);
-        }
-    }
-    /* New VM registered? */
-    else
-    {
-        /* Add new machine-item: */
-        const CCloudMachine comMachine = cloudMachineById(strProviderShortName, strProfileName, uMachineId);
-        addCloudMachineIntoTheTree(strProfileNodeName, comMachine, true /* make it visible */);
-
-        /* Search for possible fake node: */
-        QList<UIChooserNode*> fakeNodes;
-        pProfileNode->searchForNodes(QUuid().toString(), UIChooserItemSearchFlag_Machine | UIChooserItemSearchFlag_ExactId, fakeNodes);
-        /* Delete fake node if present: */
-        delete fakeNodes.value(0);
-    }
+    /* Add new machine-item: */
+    addCloudMachineIntoTheTree(strProfileNodeName, comMachine, true /* make it visible? */);
+
+    /* Search for possible fake node: */
+    QList<UIChooserNode*> fakeNodes;
+    pProfileNode->searchForNodes(QUuid().toString(), UIChooserItemSearchFlag_Machine | UIChooserItemSearchFlag_ExactId, fakeNodes);
+    /* Delete fake node if present: */
+    delete fakeNodes.value(0);
 }
 
@@ -821,8 +800,8 @@
 
     /* Cloud VM registration connections: */
+    connect(&uiCommon(), &UICommon::sigCloudMachineUnregistered,
+            this, &UIChooserAbstractModel::sltCloudMachineUnregistered);
     connect(&uiCommon(), &UICommon::sigCloudMachineRegistered,
             this, &UIChooserAbstractModel::sltCloudMachineRegistered);
-    connect(&uiCommon(), &UICommon::sigCloudMachineRegistrationChanged,
-            this, &UIChooserAbstractModel::sltCloudMachineRegistrationChanged);
 
     /* Setup global connections: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 86607)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 86608)
@@ -22,4 +22,7 @@
 #endif
 
+/* Qt includes: */
+#include <QUuid>
+
 /* GUI includes: */
 #include "UIChooserDefs.h"
@@ -29,5 +32,4 @@
 
 /* Forward declaration: */
-class QUuid;
 class UIChooser;
 class UIChooserNode;
@@ -164,4 +166,10 @@
     /** @name Cloud stuff.
       * @{ */
+        /** Handles cloud machine unregistering for @a uId.
+          * @param  strProviderShortName  Brings provider short name.
+          * @param  strProfileName        Brings profile name. */
+        virtual void sltCloudMachineUnregistered(const QString &strProviderShortName,
+                                                 const QString &strProfileName,
+                                                 const QUuid &uId);
         /** Handles cloud machine registering for @a comMachine.
           * @param  strProviderShortName  Brings provider short name.
@@ -170,11 +178,4 @@
                                                const QString &strProfileName,
                                                const CCloudMachine &comMachine);
-        /** Handles cloud machine registering/unregistering for machine with certain @a uMachineId.
-          * @param  strProviderShortName  Brings provider short name.
-          * @param  strProfileName        Brings profile name. */
-        virtual void sltCloudMachineRegistrationChanged(const QString &strProviderShortName,
-                                                        const QString &strProfileName,
-                                                        const QUuid &uMachineId,
-                                                        const bool fRegistered);
 
         /** Handles list cloud machines task complete signal. */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 86607)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 86608)
@@ -1154,4 +1154,18 @@
 }
 
+void UIChooserModel::sltCloudMachineUnregistered(const QString &strProviderShortName,
+                                                 const QString &strProfileName,
+                                                 const QUuid &uId)
+{
+    /* Make sure no item with passed uId is selected: */
+    makeSureNoItemWithCertainIdSelected(uId);
+
+    /* Call to base-class: */
+    UIChooserAbstractModel::sltCloudMachineUnregistered(strProviderShortName, strProfileName, uId);
+
+    /* Rebuild tree for main root: */
+    buildTreeForMainRoot(true /* preserve selection */);
+}
+
 void UIChooserModel::sltCloudMachineRegistered(const QString &strProviderShortName,
                                                const QString &strProfileName,
@@ -1170,34 +1184,4 @@
                                               UIChooserItemSearchFlag_Machine |
                                               UIChooserItemSearchFlag_ExactId));
-}
-
-void UIChooserModel::sltCloudMachineRegistrationChanged(const QString &strProviderShortName,
-                                                        const QString &strProfileName,
-                                                        const QUuid &uMachineId,
-                                                        const bool fRegistered)
-{
-    /* Existing VM unregistered => make sure no item with passed uMachineId is selected: */
-    if (!fRegistered)
-        makeSureNoItemWithCertainIdSelected(uMachineId);
-
-    /* Call to base-class: */
-    UIChooserAbstractModel::sltCloudMachineRegistrationChanged(strProviderShortName, strProfileName, uMachineId, fRegistered);
-
-    /* Existing VM unregistered? */
-    if (!fRegistered)
-    {
-        /* Rebuild tree for main root: */
-        buildTreeForMainRoot(true /* preserve selection */);
-    }
-    /* New VM registered? */
-    else
-    {
-        /* Rebuild tree for main root: */
-        buildTreeForMainRoot(false /* preserve selection */);
-        /* Select newly added item: */
-        setSelectedItem(root()->searchForItem(uMachineId.toString(),
-                                              UIChooserItemSearchFlag_Machine |
-                                              UIChooserItemSearchFlag_ExactId));
-    }
 }
 
@@ -1803,8 +1787,7 @@
         const QString strProviderShortName = pItem->parentItem()->parentItem()->name();
         const QString strProfileName = pItem->parentItem()->name();
-        sltCloudMachineRegistrationChanged(strProviderShortName,
-                                           strProfileName,
-                                           uId /* machine ID */,
-                                           false /* registered? */);
+        sltCloudMachineUnregistered(strProviderShortName,
+                                    strProfileName,
+                                    uId /* machine ID */);
     }
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 86607)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 86608)
@@ -276,18 +276,16 @@
     /** @name Cloud stuff.
       * @{ */
+        /** Handles cloud machine unregistering for @a uId.
+          * @param  strProviderShortName  Brings provider short name.
+          * @param  strProfileName        Brings profile name. */
+        virtual void sltCloudMachineUnregistered(const QString &strProviderShortName,
+                                                 const QString &strProfileName,
+                                                 const QUuid &uId) /* override */;
         /** Handles cloud machine registering for @a comMachine.
           * @param  strProviderShortName  Brings provider short name.
-          * @param  strProfileName        Brings profile name.
-          * @param  fSelect               Brings whether registered machine should be selected. */
+          * @param  strProfileName        Brings profile name. */
         virtual void sltCloudMachineRegistered(const QString &strProviderShortName,
                                                const QString &strProfileName,
                                                const CCloudMachine &comMachine) /* override */;
-        /** Handles cloud machine registering/unregistering for machine with certain @a uMachineId.
-          * @param  strProviderShortName  Brings provider short name.
-          * @param  strProfileName        Brings profile name. */
-        virtual void sltCloudMachineRegistrationChanged(const QString &strProviderShortName,
-                                                        const QString &strProfileName,
-                                                        const QUuid &uMachineId,
-                                                        const bool fRegistered) /* override */;
 
         /** Handles list cloud machines task complete signal. */
