diff --git a/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java
index b2b4b82..f1944ce 100644
--- a/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java
@@ -25,6 +25,8 @@
 import org.onosproject.net.intent.Intent;
 import org.onosproject.net.intent.IntentService;
 import org.onosproject.net.intent.PointToPointIntent;
+import org.onosproject.net.intent.constraint.ProtectedConstraint;
+
 import static org.onosproject.net.intent.constraint.ProtectionConstraint.protection;
 
 import java.util.List;
@@ -46,12 +48,25 @@
               required = true, multiValued = false)
     String egressDeviceString = null;
 
+
+    /**
+     * Option to produce protected path.
+     * @deprecated in 1.9.0
+     */
     // -p already defined in ConnectivityIntentCommand
+    @Deprecated
     @Option(name = "-r", aliases = "--protect",
-            description = "Utilize path protection",
+            description = "(deprecated) Utilize path protection",
             required = false, multiValued = false)
     private boolean backup = false;
 
+    /**
+     * Option to consume protected path.
+     */
+    @Option(name = "--useProtected",
+            description = "use protected links only")
+    private boolean useProtected = false;
+
     @Override
     protected void execute() {
         IntentService service = get(IntentService.class);
@@ -68,6 +83,10 @@
             constraints.add(protection());
         }
 
+        if (useProtected) {
+            constraints.add(ProtectedConstraint.useProtectedLink());
+        }
+
         Intent intent = PointToPointIntent.builder()
                 .appId(appId())
                 .key(key())
