Index: /trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp	(revision 42210)
+++ /trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp	(revision 42211)
@@ -347,8 +347,16 @@
         Assert(!machine.isNull());
 
-        /* Note: Currently only one group per VM supported? We don't care. */
-        Bstr strGroups;
-        CHECK_ERROR_BREAK(machine, GetExtraData(Bstr("VBoxInternal2/VMGroup").raw(),
-                                                strGroups.asOutParam()));
+        /*
+         * Get groups for this machine.
+        */
+        com::SafeArray<BSTR> groups;
+        CHECK_ERROR_BREAK(machine, COMGETTER(Groups)(ComSafeArrayAsOutParam(groups)));
+        Utf8Str strGroups;
+        for (size_t i = 0; i < groups.size(); i++)
+        {
+            if (i != 0)
+                strGroups.append(",");
+            strGroups.append(Utf8Str(groups[i]));
+        }
 
         /*
@@ -357,5 +365,5 @@
         VBOXWATCHDOG_MACHINE m;
         m.machine = machine;
-        int rc2 = groupAdd(m.groups, Utf8Str(strGroups).c_str(), 0 /* Flags */);
+        int rc2 = groupAdd(m.groups, strGroups.c_str(), 0 /* Flags */);
         AssertRC(rc2);
 
@@ -699,5 +707,5 @@
         vboxListenerImpl->init(new VirtualBoxEventListener());
 
-        com::SafeArray <VBoxEventType_T> eventTypes;
+        com::SafeArray<VBoxEventType_T> eventTypes;
         eventTypes.push_back(VBoxEventType_OnMachineRegistered);
         eventTypes.push_back(VBoxEventType_OnMachineStateChanged);
Index: /trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdogInternal.h
===================================================================
--- /trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdogInternal.h	(revision 42210)
+++ /trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdogInternal.h	(revision 42211)
@@ -91,9 +91,7 @@
     ComPtr<IPerformanceCollector> collector;
 #endif
-    /** The VM group(s) this machine belongs to.
-     *  Contains groups from per-machine "VBoxInternal2/VMGroup". */
+    /** The group(s) this machine belongs to. */
     mapGroups groups;
-    /** Map containing the individual
-     *  module payloads. */
+    /** Map containing the individual module payloads. */
     mapPayload payload;
 } VBOXWATCHDOG_MACHINE, *PVBOXWATCHDOG_MACHINE;
