diff --git a/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java b/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java
index fef1018..62558ab 100644
--- a/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java
+++ b/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java
@@ -141,7 +141,7 @@
         buffer.get(payloadBytes);
 
         return new ClusterMessage(new NodeId(new String(senderBytes, Charsets.UTF_8)),
-                new MessageSubject(new String(senderBytes, Charsets.UTF_8)),
+                new MessageSubject(new String(subjectBytes, Charsets.UTF_8)),
                 payloadBytes);
     }
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java b/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java
index 45b540d..36f9f54 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java
@@ -61,13 +61,13 @@
     private static final int MESSAGE_HANDLER_THREAD_POOL_SIZE = 4;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    private MastershipService mastershipService;
+    protected MastershipService mastershipService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    private ClusterService clusterService;
+    protected ClusterService clusterService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    private ClusterCommunicationService communicationService;
+    protected ClusterCommunicationService communicationService;
 
     private static final MessageSubject PACKET_OUT_SUBJECT =
             new MessageSubject("packet-out");
@@ -90,8 +90,9 @@
                 MESSAGE_HANDLER_THREAD_POOL_SIZE,
                 groupedThreads("onos/store/packet", "message-handlers"));
 
-        communicationService.addSubscriber(
-                PACKET_OUT_SUBJECT, new InternalClusterMessageHandler(), messageHandlingExecutor);
+        communicationService.addSubscriber(PACKET_OUT_SUBJECT,
+                                           new InternalClusterMessageHandler(),
+                                           messageHandlingExecutor);
 
         log.info("Started");
     }
@@ -118,8 +119,9 @@
         }
 
         // TODO check unicast return value
-        communicationService.unicast(new ClusterMessage(
-                myId, PACKET_OUT_SUBJECT, SERIALIZER.encode(packet)), master);
+        communicationService.unicast(new ClusterMessage(myId, PACKET_OUT_SUBJECT,
+                                                        SERIALIZER.encode(packet)),
+                                     master);
         // error log: log.warn("Failed to send packet-out to {}", master);
     }
 
