diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseManager.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseManager.java
index 2c0ff14..c3494d9 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseManager.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DatabaseManager.java
@@ -173,7 +173,7 @@
             DatabaseStateMachine stateMachine = new DatabaseStateMachine();
             stateMachine.addEventListener(expirationTracker);
             Log consensusLog = new MapDBLog(LOG_FILE_PREFIX + localNode.id(),
-                    ClusterMessagingProtocol.SERIALIZER);
+                    ClusterMessagingProtocol.DB_SERIALIZER);
 
             copycat = new Copycat(stateMachine, consensusLog, cluster, copycatMessagingProtocol);
             copycat.event(LeaderElectEvent.class).registerHandler(new RaftLeaderElectionMonitor());
@@ -432,7 +432,7 @@
                             new ClusterMessage(
                                     clusterService.getLocalNode().id(),
                                     RAFT_LEADER_ELECTION_EVENT,
-                                    ClusterMessagingProtocol.SERIALIZER.encode(event)));
+                                    ClusterMessagingProtocol.DB_SERIALIZER.encode(event)));
                 }
             } catch (Exception e) {
                 log.debug("LeaderAdvertiser failed with exception", e);
@@ -454,7 +454,7 @@
                             new ClusterMessage(
                                     clusterService.getLocalNode().id(),
                                     RAFT_LEADER_ELECTION_EVENT,
-                                    ClusterMessagingProtocol.SERIALIZER.encode(event)));
+                                    ClusterMessagingProtocol.DB_SERIALIZER.encode(event)));
                 } else {
                     if (myLeaderEvent != null) {
                         log.debug("This node is no longer the Leader");
