diff --git a/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java b/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java
index 7a812c9..64beb93 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java
@@ -173,9 +173,12 @@
     private void processExistingConfigs(ConfigFactory configFactory) {
         ImmutableSet.copyOf(configs.keySet()).forEach(k -> {
             if (Objects.equals(configFactory.configClass().getName(), k.configClass)) {
-                JsonNode json = configs.remove(k).value();
-                configs.put(key(k.subject, configFactory.configKey()), json);
-                log.debug("Set config pending: {}, {}", k.subject, k.configClass);
+                Versioned<JsonNode> remove = configs.remove(k);
+                if (remove != null) {
+                    JsonNode json = remove.value();
+                    configs.put(key(k.subject, configFactory.configKey()), json);
+                    log.debug("Set config pending: {}, {}", k.subject, k.configClass);
+                }
             }
         });
     }
