diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java
index 933e0ee..663e0f0 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java
@@ -2,6 +2,7 @@
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
+import static org.slf4j.LoggerFactory.getLogger;
 
 import java.io.File;
 import java.io.IOException;
@@ -22,6 +23,7 @@
 import org.mapdb.TxBlock;
 import org.mapdb.TxMaker;
 import org.onlab.onos.store.serializers.StoreSerializer;
+import org.slf4j.Logger;
 
 import com.google.common.collect.Lists;
 
@@ -30,6 +32,8 @@
  */
 public class MapDBLog implements Log {
 
+    private final Logger log = getLogger(getClass());
+
     private final File dbFile;
     private TxMaker txMaker;
     private final StoreSerializer serializer;
@@ -273,7 +277,11 @@
                 size.addAndGet(-1 * deletedBytes);
                 byte[] entryBytes = serializer.encode(entry);
                 byte[] existingEntry = log.put(index, entryBytes);
-                size.addAndGet(entryBytes.length - existingEntry.length);
+                if (existingEntry != null) {
+                    size.addAndGet(entryBytes.length - existingEntry.length);
+                } else {
+                    size.addAndGet(entryBytes.length);
+                }
                 db.compact();
             }
         });
