diff --git a/core/api/src/main/java/org/onosproject/cfg/ComponentConfigService.java b/core/api/src/main/java/org/onosproject/cfg/ComponentConfigService.java
index b167297..8b486e7 100644
--- a/core/api/src/main/java/org/onosproject/cfg/ComponentConfigService.java
+++ b/core/api/src/main/java/org/onosproject/cfg/ComponentConfigService.java
@@ -73,6 +73,17 @@
     void preSetProperty(String componentName, String name, String value);
 
     /**
+     * Presets the value of the specified configuration property, regardless
+     * of the component's state.
+     *
+     * @param componentName component name
+     * @param name          property name
+     * @param value         new property value
+     * @param override      true to override even if the property has been set to other value
+     */
+    void preSetProperty(String componentName, String name, String value, boolean override);
+
+    /**
      * Clears the value of the specified configuration property thus making
      * the property take on its default value.
      *
diff --git a/core/api/src/main/java/org/onosproject/cfg/ComponentConfigStore.java b/core/api/src/main/java/org/onosproject/cfg/ComponentConfigStore.java
index c7cb4af..d725203 100644
--- a/core/api/src/main/java/org/onosproject/cfg/ComponentConfigStore.java
+++ b/core/api/src/main/java/org/onosproject/cfg/ComponentConfigStore.java
@@ -37,6 +37,16 @@
     void setProperty(String componentName, String name, String value);
 
     /**
+     * Sets the value of the specified configuration property.
+     *
+     * @param componentName component name
+     * @param name          property name
+     * @param value         new property value
+     * @param override      true to override even if the property has been set to other value
+     */
+    void setProperty(String componentName, String name, String value, boolean override);
+
+    /**
      * Clears the value of the specified configuration property thus making
      * the property take on its default value.
      *
diff --git a/core/api/src/test/java/org/onosproject/cfg/ComponentConfigAdapter.java b/core/api/src/test/java/org/onosproject/cfg/ComponentConfigAdapter.java
index 97fa037..ebe868d 100644
--- a/core/api/src/test/java/org/onosproject/cfg/ComponentConfigAdapter.java
+++ b/core/api/src/test/java/org/onosproject/cfg/ComponentConfigAdapter.java
@@ -54,6 +54,10 @@
     }
 
     @Override
+    public void preSetProperty(String componentName, String name, String value, boolean override) {
+    }
+
+    @Override
     public void unsetProperty(String componentName, String name) {
 
     }
diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java
index 9ba2659..5f149cc 100644
--- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java
+++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java
@@ -56,6 +56,11 @@
     }
 
     @Override
+    public void setProperty(String componentName, String name, String value, boolean override) {
+        setProperty(componentName, name, value);
+    }
+
+    @Override
     public void unsetProperty(String componentName, String name) {
         delegate.notify(new ComponentConfigEvent(PROPERTY_UNSET, componentName, name, null));
     }
diff --git a/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java b/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java
index 0a78bcd..6418bc9 100644
--- a/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java
+++ b/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java
@@ -173,12 +173,17 @@
 
     @Override
     public void preSetProperty(String componentName, String name, String value) {
+        preSetProperty(componentName, name, value, true);
+    }
+
+    @Override
+    public void preSetProperty(String componentName, String name, String value, boolean override) {
         checkPermission(CONFIG_WRITE);
 
         checkNotNull(componentName, COMPONENT_NULL);
         checkNotNull(name, PROPERTY_NULL);
         checkValidity(componentName, name, value);
-        store.setProperty(componentName, name, value);
+        store.setProperty(componentName, name, value, override);
     }
 
     @Override
diff --git a/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java b/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java
index 85e826f..4578453 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java
@@ -86,8 +86,12 @@
 
     @Override
     public void setProperty(String componentName, String name, String value) {
-        properties.put(key(componentName, name), value);
+        setProperty(componentName, name, value, true);
+    }
 
+    @Override
+    public void setProperty(String componentName, String name, String value, boolean override) {
+        properties.compute(key(componentName, name), (k, v) -> (override || v == null) ? value : v);
     }
 
     @Override
diff --git a/core/store/dist/src/test/java/org/onosproject/store/intent/impl/GossipIntentStoreTest.java b/core/store/dist/src/test/java/org/onosproject/store/intent/impl/GossipIntentStoreTest.java
index 149e64b..1003d73 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/intent/impl/GossipIntentStoreTest.java
+++ b/core/store/dist/src/test/java/org/onosproject/store/intent/impl/GossipIntentStoreTest.java
@@ -273,6 +273,11 @@
         }
 
         @Override
+        public void preSetProperty(String componentName, String name, String value, boolean override) {
+
+        }
+
+        @Override
         public void unsetProperty(String componentName, String name) {
 
         }
