Index: org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/HazelcastClusteringAgent.java
===================================================================
--- org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/HazelcastClusteringAgent.java	(revision 188484)
+++ org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/HazelcastClusteringAgent.java	(working copy)
@@ -35,6 +35,7 @@
 import org.apache.axis2.clustering.control.ControlCommand;
 import org.apache.axis2.clustering.management.DefaultGroupManagementAgent;
 import org.apache.axis2.clustering.management.GroupManagementAgent;
+import org.apache.axis2.clustering.management.GroupManagementCommand;
 import org.apache.axis2.clustering.management.NodeManager;
 import org.apache.axis2.clustering.state.StateManager;
 import org.apache.axis2.clustering.tribes.MembershipManager;
@@ -85,6 +86,7 @@
     private HazelcastMembershipScheme membershipScheme;
     private ConfigurationContext configurationContext;
     private ITopic<ClusteringMessage> clusteringMessageTopic;
+    private ITopic<GroupManagementCommand> groupManagementTopic;
     private List<ClusteringMessage> sentMsgsBuffer = new CopyOnWriteArrayList<ClusteringMessage>();
 
     // key - msg UUID, value - timestamp(msg received time)
@@ -185,6 +187,8 @@
         clusteringMessageTopic = primaryHazelcastInstance.getTopic(HazelcastConstants.CLUSTERING_MESSAGE_TOPIC);
         clusteringMessageTopic.addMessageListener(new HazelcastClusterMessageListener(configurationContext,
                                                                                       recdMsgsBuffer, sentMsgsBuffer));
+        groupManagementTopic = primaryHazelcastInstance.getTopic(HazelcastConstants.GROUP_MGT_CMD_TOPIC);
+        groupManagementTopic.addMessageListener(new GroupManagementCommandListener(configurationContext));
         ITopic<ControlCommand> controlCommandTopic = primaryHazelcastInstance.getTopic(HazelcastConstants.CONTROL_COMMAND_TOPIC);
         controlCommandTopic.addMessageListener(new HazelcastControlCommandListener(configurationContext));
 
Index: org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/GroupManagementCommandListener.java
===================================================================
--- org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/GroupManagementCommandListener.java	(revision 0)
+++ org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/GroupManagementCommandListener.java	(working copy)
@@ -0,0 +1,32 @@
+package org.wso2.carbon.core.clustering.hazelcast;
+
+import com.hazelcast.core.Message;
+import com.hazelcast.core.MessageListener;
+import org.apache.axis2.clustering.ClusteringFault;
+import org.apache.axis2.clustering.management.GroupManagementCommand;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ *
+ */
+public class GroupManagementCommandListener implements MessageListener<GroupManagementCommand> {
+    private static final Log log = LogFactory.getLog(GroupManagementCommandListener.class);
+    private ConfigurationContext configurationContext;
+
+    public GroupManagementCommandListener(ConfigurationContext configurationContext) {
+        this.configurationContext = configurationContext;
+    }
+
+    @Override
+    public void onMessage(Message<GroupManagementCommand> clusteringMessage) {
+        try {
+            GroupManagementCommand msg = clusteringMessage.getMessageObject();
+                log.info("Received GroupManagementCommand: " + msg);
+                msg.execute(configurationContext);
+        } catch (ClusteringFault e) {
+            log.error("Cannot process ClusteringMessage", e);
+        }
+    }
+}
Index: org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/HazelcastGroupManagementAgent.java
===================================================================
--- org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/HazelcastGroupManagementAgent.java	(revision 188484)
+++ org.wso2.carbon.core/src/main/java/org/wso2/carbon/core/clustering/hazelcast/HazelcastGroupManagementAgent.java	(working copy)
@@ -34,6 +34,7 @@
 import com.hazelcast.core.Message;
 import com.hazelcast.core.MessageListener;
 import org.apache.axis2.clustering.ClusteringFault;
+import org.apache.axis2.clustering.ClusteringMessage;
 import org.apache.axis2.clustering.Member;
 import org.apache.axis2.clustering.management.GroupManagementAgent;
 import org.apache.axis2.clustering.management.GroupManagementCommand;
@@ -133,8 +134,7 @@
         for (Member member : members.values()) {
             connectMember(member);
         }
-        groupManagementTopic = hazelcastInstance.getTopic("$" + domain + HazelcastConstants.GROUP_MGT_CMD_TOPIC);
-        groupManagementTopic.addMessageListener(new GroupManagementCommandListener(configurationContext));
+        groupManagementTopic = hazelcastInstance.getTopic(HazelcastConstants.GROUP_MGT_CMD_TOPIC);
     }
 
     public void setDomain(String domain) {
@@ -333,22 +333,4 @@
             return false;
         }
     }
-
-    private static class GroupManagementCommandListener implements MessageListener<GroupManagementCommand> {
-        private ConfigurationContext configurationContext;
-
-        private GroupManagementCommandListener(ConfigurationContext configurationContext) {
-            this.configurationContext = configurationContext;
-        }
-
-        @Override
-        public void onMessage(Message<GroupManagementCommand> message) {
-            GroupManagementCommand command = message.getMessageObject();
-            try {
-                command.execute(configurationContext);
-            } catch (ClusteringFault e) {
-                log.error("Cannot execute GroupManagementCommand" + command, e);
-            }
-        }
-    }
 }
