diff --git a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java
index b24ee5d..afb405d 100644
--- a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java
@@ -41,9 +41,10 @@
     private static final String NETWORK = "Network";
     private static final String NEXTHOP = "Next Hop";
     private static final String SOURCE = "Source";
+    private static final String NODE = "Node";
 
-    private static final String FORMAT_ROUTE = "%-1s   %-18s %-15s %-10s";
-    private static final String FORMAT_ROUTE6 = "%-1s   %-43s %-39s %-10s";
+    private static final String FORMAT_ROUTE = "%-1s   %-18s %-15s %s (%s)";
+    private static final String FORMAT_ROUTE6 = "%-1s   %-43s %-39s %s (%s)";
 
     private static final String FORMAT_TABLE = "Table: %s";
     private static final String FORMAT_TOTAL = "   Total: %d";
@@ -67,7 +68,7 @@
 
                 // Print header
                 print(FORMAT_TABLE, id);
-                print(format, "", NETWORK, NEXTHOP, SOURCE);
+                print(format, "", NETWORK, NEXTHOP, SOURCE, NODE);
 
                 // Print routing entries
                 tableRoutes.stream()
@@ -84,11 +85,9 @@
         routeInfo.allRoutes().stream()
                 .sorted(Comparator.comparing(r -> r.nextHop()))
                 .forEach(r -> print(format, isBestRoute(routeInfo.bestRoute(), r) ? ">" : "",
-                        r.prefix(), r.nextHop(), r.route().source()));
+                        r.prefix(), r.nextHop(), r.route().source(), r.route().sourceNode()));
     }
 
-
-
     private boolean isBestRoute(Optional<ResolvedRoute> bestRoute, ResolvedRoute route) {
         return Objects.equals(bestRoute.orElse(null), route);
     }
