Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 89410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 89515)
@@ -706,9 +706,6 @@
     // These menus are dynamical since local and cloud VMs have different menu contents.
     // Yet .. we have to prepare Machine/Group menus beforehand, they contains shortcuts.
-    if (currentItem())
-    {
-        updateMenuGroup(actionPool()->action(UIActionIndexMN_M_Group)->menu());
-        updateMenuMachine(actionPool()->action(UIActionIndexMN_M_Machine)->menu());
-    }
+    updateMenuGroup(actionPool()->action(UIActionIndexMN_M_Group)->menu());
+    updateMenuMachine(actionPool()->action(UIActionIndexMN_M_Machine)->menu());
 
     updateActionsVisibility();
@@ -2578,4 +2575,9 @@
 }
 
+bool UIVirtualBoxManager::isSingleCloudProviderGroupSelected() const
+{
+    return m_pWidget->isSingleCloudProviderGroupSelected();
+}
+
 bool UIVirtualBoxManager::isSingleCloudProfileGroupSelected() const
 {
@@ -2819,6 +2821,23 @@
 void UIVirtualBoxManager::updateMenuGroup(QMenu *pMenu)
 {
-    /* For single local group selected: */
-    if (isSingleLocalGroupSelected())
+    /* For single cloud provider/profile: */
+    if (   isSingleCloudProviderGroupSelected()
+        || isSingleCloudProfileGroupSelected())
+    {
+        /* Populate Group-menu: */
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_New));
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_Add));
+        pMenu->addSeparator();
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_M_StartOrShow));
+        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Group_M_Console)->menu());
+        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Group_M_Close)->menu());
+        pMenu->addSeparator();
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_Refresh));
+        pMenu->addSeparator();
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_Sort));
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_T_Search));
+    }
+    /* For other cases, like local group or no group at all: */
+    else
     {
         /* Populate Group-menu: */
@@ -2847,19 +2866,4 @@
         pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_T_Search));
     }
-    else
-    {
-        /* Populate Group-menu: */
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_New));
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_Add));
-        pMenu->addSeparator();
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_M_StartOrShow));
-        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Group_M_Console)->menu());
-        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Group_M_Close)->menu());
-        pMenu->addSeparator();
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_Refresh));
-        pMenu->addSeparator();
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_S_Sort));
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Group_T_Search));
-    }
 }
 
@@ -2868,8 +2872,28 @@
     /* Get first selected item: */
     UIVirtualMachineItem *pItem = currentItem();
-    AssertPtrReturnVoid(pItem);
-
-    /* For local machine: */
-    if (pItem->itemType() == UIVirtualMachineItemType_Local)
+
+    /* For cloud machine(s): */
+    if (   pItem
+        && (   pItem->itemType() == UIVirtualMachineItemType_CloudFake
+            || pItem->itemType() == UIVirtualMachineItemType_CloudReal))
+    {
+        /* Populate Machine-menu: */
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_New));
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Add));
+        pMenu->addSeparator();
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Settings));
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Remove));
+        pMenu->addSeparator();
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_M_StartOrShow));
+        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Machine_M_Console)->menu());
+        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Machine_M_Close)->menu());
+        pMenu->addSeparator();
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Refresh));
+        pMenu->addSeparator();
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_SortParent));
+        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_T_Search));
+    }
+    /* For other cases, like local machine(s) or no machine at all: */
+    else
     {
         /* Populate Machine-menu: */
@@ -2897,22 +2921,4 @@
         pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_ShowInFileManager));
         pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_CreateShortcut));
-        pMenu->addSeparator();
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_SortParent));
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_T_Search));
-    }
-    else
-    {
-        /* Populate Machine-menu: */
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_New));
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Add));
-        pMenu->addSeparator();
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Settings));
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Remove));
-        pMenu->addSeparator();
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_M_StartOrShow));
-        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Machine_M_Console)->menu());
-        pMenu->addMenu(actionPool()->action(UIActionIndexMN_M_Machine_M_Close)->menu());
-        pMenu->addSeparator();
-        pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Refresh));
         pMenu->addSeparator();
         pMenu->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_SortParent));
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 89410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 89515)
@@ -346,4 +346,6 @@
         /** Returns whether single local group is selected. */
         bool isSingleLocalGroupSelected() const;
+        /** Returns whether single cloud provider group is selected. */
+        bool isSingleCloudProviderGroupSelected() const;
         /** Returns whether single cloud profile group is selected. */
         bool isSingleCloudProfileGroupSelected() const;
