Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 86573)
@@ -2576,8 +2576,17 @@
 }
 
-void UICommon::notifyCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
-                                            const QUuid &uId, const bool fRegistered)
-{
-    emit sigCloudMachineRegistered(strProviderShortName, strProfileName, uId, fRegistered);
+void UICommon::notifyCloudMachineRegistered(const QString &strProviderShortName,
+                                            const QString &strProfileName,
+                                            const CCloudMachine &comCloudMachine)
+{
+    emit sigCloudMachineRegistered(strProviderShortName, strProfileName, comCloudMachine, true /* select */);
+}
+
+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 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h	(revision 86573)
@@ -86,14 +86,24 @@
     /** @} */
 
-    /** @name Temporary: Cloud Virtual Machine stuff.
-     * @{ */
-        /** Notifies listeners about cloud VM was (un)registered.
-          * @note   This is to be replaced by corresponding Main API event later.
+    /** @name Cloud Virtual Machine stuff.
+     * @{ */
+        /** Notifies listeners about cloud VM was registered.
+          * @param  strProviderShortName  Brings provider short name.
+          * @param  strProfileName        Brings profile name.
+          * @param  comCloudMachine       Brings cloud VM.
+          * @param  fSelect               Brings whether registered VM should be selected. */
+        void sigCloudMachineRegistered(const QString &strProviderShortName,
+                                       const QString &strProfileName,
+                                       const CCloudMachine &comCloudMachine,
+                                       const bool fSelect);
+        /** 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 sigCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
-                                       const QUuid &uId, const bool fRegistered);
+        void sigCloudMachineRegistrationChanged(const QString &strProviderShortName,
+                                                const QString &strProfileName,
+                                                const QUuid &uId,
+                                                const bool fRegistered);
     /** @} */
 
@@ -500,14 +510,22 @@
     /** @} */
 
-    /** @name Temporary: Cloud Virtual Machine stuff.
-     * @{ */
-        /** Notifies listeners about cloud VM was (un)registered.
-          * @note   This is to be replaced by corresponding Main API event later.
+    /** @name Cloud Virtual Machine stuff.
+     * @{ */
+        /** Notifies listeners about cloud VM was registered.
+          * @param  strProviderShortName  Brings provider short name.
+          * @param  strProfileName        Brings profile name.
+          * @param  comCloudMachine       Brings cloud VM. */
+        void notifyCloudMachineRegistered(const QString &strProviderShortName,
+                                          const QString &strProfileName,
+                                          const CCloudMachine &comCloudMachine);
+        /** 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 notifyCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
-                                          const QUuid &uId, const bool fRegistered);
+        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 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 86573)
@@ -636,4 +636,25 @@
 }
 
+void UIChooserAbstractModel::sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
+                                                       const CCloudMachine &comMachine, bool fSelect)
+{
+    /* Search for profile node: */
+    const QString strProfileNodeName = QString("/%1/%2").arg(strProviderShortName, strProfileName);
+    QList<UIChooserNode*> profileNodes;
+    invisibleRoot()->searchForNodes(strProfileNodeName, UIChooserItemSearchFlag_CloudProfile | UIChooserItemSearchFlag_ExactId, profileNodes);
+    AssertReturnVoid(!profileNodes.isEmpty());
+    UIChooserNode *pProfileNode = profileNodes.first();
+    AssertPtrReturnVoid(pProfileNode);
+
+    /* Add new machine-item: */
+    addCloudMachineIntoTheTree(strProfileNodeName, comMachine, fSelect);
+
+    /* 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)
@@ -797,7 +818,9 @@
     connect(uiCommon().threadPoolCloud(), &UIThreadPool::sigTaskComplete,
             this, &UIChooserAbstractModel::sltHandleCloudListMachinesTaskComplete);
-    /* Setup temporary connections,
-     * this is to be replaced by corresponding Main API event later. */
+
+    /* Cloud VM registration connections: */
     connect(&uiCommon(), &UICommon::sigCloudMachineRegistered,
+            this, &UIChooserAbstractModel::sltCloudMachineRegistered);
+    connect(&uiCommon(), &UICommon::sigCloudMachineRegistrationChanged,
             this, &UIChooserAbstractModel::sltCloudMachineRegistrationChanged);
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 86573)
@@ -145,4 +145,10 @@
         /** Handles local machine registering/unregistering for machine with certain @a uMachineId. */
         virtual void sltLocalMachineRegistrationChanged(const QUuid &uMachineId, const bool fRegistered);
+        /** 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. */
+        virtual void sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
+                                               const CCloudMachine &comMachine, bool fSelect);
         /** Handles cloud machine registering/unregistering for machine with certain @a uMachineId.
           * @param  strProviderShortName  Brings provider short name.
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 86573)
@@ -40,4 +40,5 @@
 #include "UIChooserNodeMachine.h"
 #include "UIChooserView.h"
+#include "UICloudNetworkingStuff.h"
 #include "UIExtraDataManager.h"
 #include "UIMessageCenter.h"
@@ -1107,4 +1108,24 @@
                                                   UIChooserItemSearchFlag_ExactId));
         }
+    }
+}
+
+void UIChooserModel::sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
+                                               const CCloudMachine &comMachine, bool fSelect)
+{
+    /* Call to base-class: */
+    UIChooserAbstractModel::sltCloudMachineRegistered(strProviderShortName, strProfileName, comMachine, fSelect);
+
+    /* Rebuild tree for main root: */
+    buildTreeForMainRoot(false /* preserve selection */);
+
+    /* Select newly added item: */
+    if (fSelect)
+    {
+        QUuid uMachineId;
+        if (cloudMachineId(comMachine, uMachineId))
+            setSelectedItem(root()->searchForItem(uMachineId.toString(),
+                                                  UIChooserItemSearchFlag_Machine |
+                                                  UIChooserItemSearchFlag_ExactId));
     }
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 86573)
@@ -263,4 +263,10 @@
         /** Handles local machine registering/unregistering for machine with certain @a uMachineId. */
         virtual void sltLocalMachineRegistrationChanged(const QUuid &uMachineId, const bool fRegistered) /* 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. */
+        virtual void sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
+                                               const CCloudMachine &comMachine, bool fSelect);
         /** Handles cloud machine registering/unregistering for machine with certain @a uMachineId.
           * @param  strProviderShortName  Brings provider short name.
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/addcloudvm/UIWizardAddCloudVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/addcloudvm/UIWizardAddCloudVM.cpp	(revision 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/addcloudvm/UIWizardAddCloudVM.cpp	(revision 86573)
@@ -111,6 +111,5 @@
                         uiCommon().notifyCloudMachineRegistered(field("source").toString(),
                                                                 field("profileName").toString(),
-                                                                comMachine.GetId(),
-                                                                true /* registered */);
+                                                                comMachine);
                         fResult = true;
                     }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp	(revision 86572)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp	(revision 86573)
@@ -165,6 +165,5 @@
             uiCommon().notifyCloudMachineRegistered(field("location").toString(),
                                                     field("profileName").toString(),
-                                                    comMachine.GetId(),
-                                                    true /* registered */);
+                                                    comMachine);
 
         /* Finally, success: */
