diff --git a/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java b/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java
index 2adba25..039702d 100644
--- a/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java
@@ -33,7 +33,7 @@
         description = "Lists information about atomic counters in the system")
 public class CountersListCommand extends AbstractShellCommand {
 
-    private static final String FMT = "name=%s next_value=%d";
+    private static final String FMT = "name=%s value=%d";
 
     /**
      * Displays counters as text.
@@ -41,7 +41,7 @@
      * @param mapInfo map descriptions
      */
     private void displayCounters(Map<String, Long> counters) {
-        counters.forEach((name, nextValue) -> print(FMT, name, nextValue));
+        counters.forEach((name, value) -> print(FMT, name, value));
     }
 
     /**
diff --git a/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java
index 13e8867..27cc525 100644
--- a/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java
@@ -37,7 +37,7 @@
     // TODO: Add support to display different eventually
     // consistent maps as well.
 
-    private static final String FMT = "%-20s %8s";
+    private static final String FMT = "name=%s size=%d";
 
     /**
      * Displays map info as text.
@@ -45,17 +45,9 @@
      * @param mapInfo map descriptions
      */
     private void displayMaps(List<MapInfo> mapInfo) {
-        print("------------------------------");
-        print(FMT, "Name", "Size");
-        print("------------------------------");
-
-
         for (MapInfo info : mapInfo) {
             print(FMT, info.name(), info.size());
         }
-        if (mapInfo.size() > 0) {
-            print("------------------------------");
-        }
     }
 
     /**
