diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java
index 4ba6a5d..0ae2d82 100644
--- a/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java
@@ -123,7 +123,7 @@
         }
 
         ArrayNode instr = mapper.createArrayNode();
-        for (Instruction i : flow.treatment().instructions()) {
+        for (Instruction i : flow.treatment().allInstructions()) {
             instr.add(i.toString());
         }
 
diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java
index 89877dd..f4f4d06 100644
--- a/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java
@@ -354,8 +354,8 @@
             if (!ci.selector().criteria().isEmpty()) {
                 print("    selector=%s", ci.selector().criteria());
             }
-            if (!ci.treatment().instructions().isEmpty()) {
-                print("    treatment=%s", ci.treatment().instructions());
+            if (!ci.treatment().allInstructions().isEmpty()) {
+                print("    treatment=%s", ci.treatment().allInstructions());
             }
             if (ci.constraints() != null && !ci.constraints().isEmpty()) {
                 print("    constraints=%s", ci.constraints());
@@ -423,8 +423,8 @@
             if (!ci.selector().criteria().isEmpty()) {
                 result.put("selector", ci.selector().criteria().toString());
             }
-            if (!ci.treatment().instructions().isEmpty()) {
-                result.put("treatment", ci.treatment().instructions().toString());
+            if (!ci.treatment().allInstructions().isEmpty()) {
+                result.put("treatment", ci.treatment().allInstructions().toString());
             }
         }
 
