Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 90697)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 90698)
@@ -721,38 +721,6 @@
 void UIChooserAbstractModel::sltHandleCloudProviderUninstall(const QUuid &uProviderId)
 {
-    /* We should stop cloud entity updates currently being performed: */
-    foreach (const UICloudEntityKey &key, m_cloudEntityKeysBeingUpdated)
-    {
-        /* For profiles: */
-        if (key.m_uMachineId.isNull())
-        {
-            /* Search task child by key: */
-            UIProgressTaskReadCloudMachineList *pTask = findChild<UIProgressTaskReadCloudMachineList*>(key.toString());
-            AssertPtrReturnVoid(pTask);
-
-            /* Wait for cloud profile refresh task to complete,
-             * then delete the task itself manually: */
-            pTask->cancel();
-            delete pTask;
-        }
-        /* For machines: */
-        else
-        {
-            /* Search machine node: */
-            UIChooserNode *pNode = searchMachineNode(key.m_strProviderShortName, key.m_strProfileName, key.m_uMachineId);
-            AssertPtrReturnVoid(pNode);
-            /* Acquire cloud machine item: */
-            UIVirtualMachineItemCloud *pCloudMachineItem = pNode->toMachineNode()->cache()->toCloud();
-            AssertPtrReturnVoid(pCloudMachineItem);
-
-            /* Wait for cloud machine refresh task to complete,
-             * task itself will be deleted with the machine-node: */
-            pCloudMachineItem->waitForAsyncInfoUpdateFinished();
-        }
-    }
-
-    /* We haven't let tasks to unregister themselves
-     * so we have to cleanup task set ourselves: */
-    m_cloudEntityKeysBeingUpdated.clear();
+    /* First of all, stop all cloud updates: */
+    stopCloudUpdates();
 
     /* Search and delete corresponding cloud provider node if present: */
@@ -781,4 +749,7 @@
     delete m_pInvisibleRootNode;
     m_pInvisibleRootNode = 0;
+
+    /* Finally, stop all cloud updates: */
+    stopCloudUpdates();
 }
 
@@ -1857,4 +1828,42 @@
 }
 
+void UIChooserAbstractModel::stopCloudUpdates()
+{
+    /* Stop all cloud entity updates currently being performed: */
+    foreach (const UICloudEntityKey &key, m_cloudEntityKeysBeingUpdated)
+    {
+        /* For profiles: */
+        if (key.m_uMachineId.isNull())
+        {
+            /* Search task child by key: */
+            UIProgressTaskReadCloudMachineList *pTask = findChild<UIProgressTaskReadCloudMachineList*>(key.toString());
+            AssertPtrReturnVoid(pTask);
+
+            /* Wait for cloud profile refresh task to complete,
+             * then delete the task itself manually: */
+            pTask->cancel();
+            delete pTask;
+        }
+        /* For machines: */
+        else
+        {
+            /* Search machine node: */
+            UIChooserNode *pNode = searchMachineNode(key.m_strProviderShortName, key.m_strProfileName, key.m_uMachineId);
+            AssertPtrReturnVoid(pNode);
+            /* Acquire cloud machine item: */
+            UIVirtualMachineItemCloud *pCloudMachineItem = pNode->toMachineNode()->cache()->toCloud();
+            AssertPtrReturnVoid(pCloudMachineItem);
+
+            /* Wait for cloud machine refresh task to complete,
+             * task itself will be deleted with the machine-node: */
+            pCloudMachineItem->waitForAsyncInfoUpdateFinished();
+        }
+    }
+
+    /* We haven't let tasks to unregister themselves
+     * so we have to cleanup task set ourselves: */
+    m_cloudEntityKeysBeingUpdated.clear();
+}
+
 
 #include "UIChooserAbstractModel.moc"
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 90697)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 90698)
@@ -353,4 +353,10 @@
     /** @} */
 
+    /** @name Cloud update stuff.
+      * @{ */
+        /** Stops all cloud updates. */
+        void stopCloudUpdates();
+    /** @} */
+
     /** @name General stuff.
       * @{ */
