diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java b/core/store/dist/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
index 6c2ad6a..dd5041a 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
@@ -47,7 +47,6 @@
 import com.google.common.base.Objects;
 import com.hazelcast.core.EntryEvent;
 import com.hazelcast.core.EntryListener;
-import com.hazelcast.core.IAtomicLong;
 import com.hazelcast.core.MapEvent;
 
 import static org.onlab.onos.net.MastershipRole.*;
@@ -59,8 +58,8 @@
 @Component(immediate = true)
 @Service
 public class DistributedMastershipStore
-extends AbstractHazelcastStore<MastershipEvent, MastershipStoreDelegate>
-implements MastershipStore {
+    extends AbstractHazelcastStore<MastershipEvent, MastershipStoreDelegate>
+    implements MastershipStore {
 
     //term number representing that master has never been chosen yet
     private static final Integer NOTHING = 0;
@@ -71,9 +70,6 @@
     protected SMap<DeviceId, RoleValue> roleMap;
     //devices to terms
     protected SMap<DeviceId, Integer> terms;
-    //last-known cluster size, used for tie-breaking when partitioning occurs
-    protected IAtomicLong clusterSize;
-
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected ClusterService clusterService;
@@ -98,7 +94,6 @@
         roleMap = new SMap<>(theInstance.<byte[], byte[]>getMap("nodeRoles"), this.serializer);
         roleMap.addEntryListener((new RemoteMasterShipEventHandler()), true);
         terms = new SMap<>(theInstance.<byte[], byte[]>getMap("terms"), this.serializer);
-        clusterSize = theInstance.getAtomicLong("clustersize");
 
         log.info("Started");
     }
