diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
index 3b86d09..ef20d07 100644
--- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
@@ -41,6 +41,7 @@
 
     static final String GET = "get";
     static final String SET = "set";
+    static final String PRESET = "preset";
 
     private static final String FMT = "    name=%s, type=%s, value=%s, defaultValue=%s, description=%s";
     private static final String SHORT_FMT = "    %s=%s";
@@ -51,7 +52,7 @@
 
 
     @Argument(index = 0, name = "command",
-            description = "Command name (get|set)",
+            description = "Command name (get|set|preset)",
             required = false, multiValued = false)
     String command = null;
 
@@ -85,6 +86,8 @@
                 service.unsetProperty(component, name);
             } else if (command.equals(SET)) {
                 service.setProperty(component, name, value);
+            } else if (command.equals(PRESET)) {
+                service.preSetProperty(component, name, value);
             } else {
                 error("Illegal usage");
             }
diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java
index 4397a2b..46830cf 100644
--- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java
+++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java
@@ -22,6 +22,7 @@
 import java.util.SortedSet;
 
 import static org.onosproject.cli.cfg.ComponentConfigCommand.GET;
+import static org.onosproject.cli.cfg.ComponentConfigCommand.PRESET;
 import static org.onosproject.cli.cfg.ComponentConfigCommand.SET;
 
 /**
@@ -35,6 +36,7 @@
         SortedSet<String> strings = delegate.getStrings();
         strings.add(GET);
         strings.add(SET);
+        strings.add(PRESET);
 
         // Now let the completer do the work for figuring out what to offer.
         return delegate.complete(buffer, cursor, candidates);
