diff --git a/scripts/get_network_graph.py b/scripts/get_network_graph.py
index c4b880d..b91b569 100755
--- a/scripts/get_network_graph.py
+++ b/scripts/get_network_graph.py
@@ -39,7 +39,7 @@
 
 # @app.route("/wm/onos/topology/links/json ")
 # @app.route("/wm/onos/topology/switches/json ")
-# @app.route("/wm/onos/ng/shortest-path/<src-dpid>/<dst-dpid>/json ")
+# @app.route("/wm/onos/topology/shortest-path/<src-dpid>/<dst-dpid>/json ")
 # Sample output:
 
 def print_parsed_result(parsedResult):
@@ -89,7 +89,7 @@
 
 def get_network_shortest_path(src_dpid, dst_dpid):
   try:
-    command = "curl -s \"http://%s:%s/wm/onos/ng/shortest-path/%s/%s/json\"" % (ControllerIP, ControllerPort, src_dpid, dst_dpid)
+    command = "curl -s \"http://%s:%s/wm/onos/topology/shortest-path/%s/%s/json\"" % (ControllerIP, ControllerPort, src_dpid, dst_dpid)
     debug("get_network_switches %s" % command)
 
     result = os.popen(command).read()
diff --git a/src/main/java/net/onrc/onos/core/topology/web/NetworkGraphWebRoutable.java b/src/main/java/net/onrc/onos/core/topology/web/NetworkGraphWebRoutable.java
index 8f32f8a..b159fe6 100644
--- a/src/main/java/net/onrc/onos/core/topology/web/NetworkGraphWebRoutable.java
+++ b/src/main/java/net/onrc/onos/core/topology/web/NetworkGraphWebRoutable.java
@@ -11,30 +11,22 @@
     @Override
     public Restlet getRestlet(Context context) {
         Router router = new Router(context);
-        // leaving old path there for compatibility
-        router.attach("/rc/switches/json", DatastoreSwitchesResource.class);
-        router.attach("/rc/links/json", DatastoreLinksResource.class);
-        router.attach("/rc/ports/json", DatastorePortsResource.class);
-
         // debug API to dump datastore content
         router.attach("/ds/switches/json", DatastoreSwitchesResource.class);
         router.attach("/ds/links/json", DatastoreLinksResource.class);
         router.attach("/ds/ports/json", DatastorePortsResource.class);
 
-        router.attach("/ng/switches/json", NetworkGraphSwitchesResource.class);
-        router.attach("/ng/links/json", NetworkGraphLinksResource.class);
-        router.attach("/ng/shortest-path/{src-dpid}/{dst-dpid}/json", NetworkGraphShortestPathResource.class);
-
-        // Old URLs for compatibility
-        router.attach("/topology/switches/json", NetworkGraphSwitchesResource.class);
-        router.attach("/topology/links/json", NetworkGraphLinksResource.class);
+        // Topology API
+        router.attach("/switches/json", NetworkGraphSwitchesResource.class);
+        router.attach("/links/json", NetworkGraphLinksResource.class);
+        // TODO: Move the Shortest Path REST API to the Intent framework
+        router.attach("/shortest-path/{src-dpid}/{dst-dpid}/json", NetworkGraphShortestPathResource.class);
 
         return router;
     }
 
     @Override
     public String basePath() {
-        return "/wm/onos";
+        return "/wm/onos/topology";
     }
-
 }
diff --git a/web/topology_rest_napi.py b/web/topology_rest_napi.py
index e16c197..58c2de9 100755
--- a/web/topology_rest_napi.py
+++ b/web/topology_rest_napi.py
@@ -101,8 +101,7 @@
 @app.route('/topology', methods=['GET'])
 def topology_for_gui():
   try:
-    #url="http://%s:%s/wm/onos/topology/switches/all/json" % (RestIP, RestPort)
-    url="http://%s:%s/wm/onos/ng/switches/json" % (RestIP, RestPort)
+    url="http://%s:%s/wm/onos/topology/switches/json" % (RestIP, RestPort)
     (code, result) = get_json(url)
     parsedResult = json.loads(result)
   except:
@@ -145,8 +144,7 @@
         switches[sw_id]['group'] = controllers.index(ctrl) + 1
 
   try:
-    #url = "http://%s:%s/wm/onos/topology/links/json" % (RestIP, RestPort)
-    url = "http://%s:%s/wm/onos/ng/links/json" % (RestIP, RestPort)
+    url = "http://%s:%s/wm/onos/topology/links/json" % (RestIP, RestPort)
     (code, result) = get_json(url)
     parsedResult = json.loads(result)
   except:
