Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 84557)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 84558)
@@ -624,12 +624,12 @@
 
 /** Menu action extension, used as 'Move to Group' menu class. */
-class UIActionMenuSelectorMachineMoveToGroup : public UIActionMenu
-{
-    Q_OBJECT;
-
-public:
-
-    /** Constructs action passing @a pParent to the base-class. */
-    UIActionMenuSelectorMachineMoveToGroup(UIActionPool *pParent)
+class UIActionMenuSelectorCommonMoveToGroup : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorCommonMoveToGroup(UIActionPool *pParent)
         : UIActionMenu(pParent, ":/vm_group_create_16px.png", ":/vm_group_create_disabled_16px.png")
     {}
@@ -2939,4 +2939,5 @@
     m_pool[UIActionIndexST_M_Group_S_Rename] = new UIActionSimpleSelectorGroupPerformRename(this);
     m_pool[UIActionIndexST_M_Group_S_Remove] = new UIActionSimpleSelectorGroupPerformRemove(this);
+    m_pool[UIActionIndexST_M_Group_M_MoveToGroup] = new UIActionMenuSelectorCommonMoveToGroup(this);
     m_pool[UIActionIndexST_M_Group_M_StartOrShow] = new UIActionStateSelectorCommonStartOrShow(this);
     m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartNormal] = new UIActionSimpleSelectorCommonPerformStartNormal(this);
@@ -2970,5 +2971,5 @@
     m_pool[UIActionIndexST_M_Machine_S_ExportToOCI] = new UIActionSimpleSelectorMachinePerformExportToOCI(this);
     m_pool[UIActionIndexST_M_Machine_S_Remove] = new UIActionSimpleSelectorMachinePerformRemove(this);
-    m_pool[UIActionIndexST_M_Machine_M_MoveToGroup] = new UIActionMenuSelectorMachineMoveToGroup(this);
+    m_pool[UIActionIndexST_M_Machine_M_MoveToGroup] = new UIActionMenuSelectorCommonMoveToGroup(this);
     m_pool[UIActionIndexST_M_Machine_M_MoveToGroup_S_New] = new UIActionSimpleSelectorMachineMoveToGroupNew(this);
     m_pool[UIActionIndexST_M_Machine_M_StartOrShow] = new UIActionStateSelectorCommonStartOrShow(this);
@@ -3062,4 +3063,5 @@
     m_menuUpdateHandlers[UIActionIndexST_M_Group].ptfm =                 &UIActionPoolManager::updateMenuGroup;
     m_menuUpdateHandlers[UIActionIndexST_M_Machine].ptfm =               &UIActionPoolManager::updateMenuMachine;
+    m_menuUpdateHandlers[UIActionIndexST_M_Group_M_MoveToGroup].ptfm =   &UIActionPoolManager::updateMenuGroupMoveToGroup;
     m_menuUpdateHandlers[UIActionIndexST_M_Machine_M_MoveToGroup].ptfm = &UIActionPoolManager::updateMenuMachineMoveToGroup;
     m_menuUpdateHandlers[UIActionIndexST_M_Group_M_StartOrShow].ptfm =   &UIActionPoolManager::updateMenuGroupStartOrShow;
@@ -3297,4 +3299,5 @@
     pMenu->addAction(action(UIActionIndexST_M_Group_S_Rename));
     pMenu->addAction(action(UIActionIndexST_M_Group_S_Remove));
+    pMenu->addAction(action(UIActionIndexST_M_Group_M_MoveToGroup));
     pMenu->addSeparator();
     pMenu->addAction(action(UIActionIndexST_M_Group_M_StartOrShow));
@@ -3358,4 +3361,15 @@
 }
 
+void UIActionPoolManager::updateMenuGroupMoveToGroup()
+{
+    /* Get corresponding menu: */
+    UIMenu *pMenu = action(UIActionIndexST_M_Group_M_MoveToGroup)->menu();
+    AssertPtrReturnVoid(pMenu);
+    /* Clear contents: */
+    pMenu->clear();
+
+    /* This menu always remains invalid.. */
+}
+
 void UIActionPoolManager::updateMenuMachineMoveToGroup()
 {
@@ -3709,4 +3723,5 @@
                     << action(UIActionIndexST_M_Group_S_Rename)
                     << action(UIActionIndexST_M_Group_S_Remove)
+                    << action(UIActionIndexST_M_Group_M_MoveToGroup)
                     << action(UIActionIndexST_M_Group_M_StartOrShow)
                     << action(UIActionIndexST_M_Group_T_Pause)
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 84557)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 84558)
@@ -63,4 +63,5 @@
     UIActionIndexST_M_Group_S_Rename,
     UIActionIndexST_M_Group_S_Remove,
+    UIActionIndexST_M_Group_M_MoveToGroup,
     UIActionIndexST_M_Group_M_StartOrShow,
     UIActionIndexST_M_Group_M_StartOrShow_S_StartNormal,
@@ -205,4 +206,6 @@
     /** Updates 'Machine' menu. */
     void updateMenuMachine();
+    /** Updates 'Group' / 'Move to Group' menu. */
+    void updateMenuGroupMoveToGroup();
     /** Updates 'Machine' / 'Move to Group' menu. */
     void updateMenuMachineMoveToGroup();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 84557)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 84558)
@@ -1476,4 +1476,5 @@
 
     /* Prepare menu update-handlers: */
+    m_menuUpdateHandlers[UIActionIndexST_M_Group_M_MoveToGroup] = &UIVirtualBoxManager::updateMenuGroupMoveToGroup;
     m_menuUpdateHandlers[UIActionIndexST_M_Group_M_Close] = &UIVirtualBoxManager::updateMenuGroupClose;
     m_menuUpdateHandlers[UIActionIndexST_M_Machine_M_MoveToGroup] = &UIVirtualBoxManager::updateMenuMachineMoveToGroup;
@@ -1908,4 +1909,13 @@
 }
 
+void UIVirtualBoxManager::updateMenuGroupMoveToGroup(QMenu *pMenu)
+{
+    const QStringList groups = m_pWidget->possibleGroupsForGroupToMove(m_pWidget->fullGroupName());
+    if (!groups.isEmpty())
+        pMenu->addSeparator();
+    foreach (const QString &strGroupName, groups)
+        pMenu->addAction(strGroupName, this, &UIVirtualBoxManager::sltPerformMachineMoveToSpecificGroup);
+}
+
 void UIVirtualBoxManager::updateMenuGroupClose(QMenu *)
 {
@@ -2009,4 +2019,5 @@
     actionPool()->action(UIActionIndexST_M_Group_S_Rename)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_S_Rename, items));
     actionPool()->action(UIActionIndexST_M_Group_S_Remove)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_S_Remove, items));
+    actionPool()->action(UIActionIndexST_M_Group_M_MoveToGroup)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_M_MoveToGroup, items));
     actionPool()->action(UIActionIndexST_M_Group_T_Pause)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_T_Pause, items));
     actionPool()->action(UIActionIndexST_M_Group_S_Reset)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_S_Reset, items));
@@ -2236,4 +2247,5 @@
                    isAtLeastOneItemRemovable(items);
         }
+        case UIActionIndexST_M_Group_M_MoveToGroup:
         case UIActionIndexST_M_Machine_M_MoveToGroup:
         case UIActionIndexST_M_Machine_M_MoveToGroup_S_New:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 84557)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 84558)
@@ -345,4 +345,6 @@
     /** @name Action update stuff.
       * @{ */
+        /** Updates 'Group' : 'Move to Group' menu. */
+        void updateMenuGroupMoveToGroup(QMenu *pMenu);
         /** Updates 'Group' : 'Close' menu. */
         void updateMenuGroupClose(QMenu *pMenu);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 84557)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 84558)
@@ -1280,4 +1280,5 @@
         m_pContextMenuGroup->addAction(actionPool()->action(UIActionIndexST_M_Group_S_Rename));
         m_pContextMenuGroup->addAction(actionPool()->action(UIActionIndexST_M_Group_S_Remove));
+        m_pContextMenuGroup->addMenu(actionPool()->action(UIActionIndexST_M_Group_M_MoveToGroup)->menu());
         m_pContextMenuGroup->addSeparator();
         m_pContextMenuGroup->addAction(actionPool()->action(UIActionIndexST_M_Group_M_StartOrShow));
