diff --git a/src/main/java/net/onrc/onos/ofcontroller/bgproute/BgpRoute.java b/src/main/java/net/onrc/onos/ofcontroller/bgproute/BgpRoute.java
index ceab262..108b46a 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/bgproute/BgpRoute.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/bgproute/BgpRoute.java
@@ -579,7 +579,8 @@
 		log.debug("is peer {}", bgpPeers.containsKey(ribEntry.getNextHop()));
 		if (!bgpPeers.containsKey(ribEntry.getNextHop())) {
 			log.debug("Getting path for route with non-peer nexthop");
-			Path path = prefixToPath.get(prefix);
+			//Path path = prefixToPath.get(prefix);
+			Path path = prefixToPath.remove(prefix);
 			
 			if (path == null) {
 				log.error("No path found for non-peer path");
@@ -589,6 +590,7 @@
 			log.debug("users {}, permanent {}", path.getUsers(), path.isPermanent());
 			if (path.getUsers() <= 0 && !path.isPermanent()) {
 				deletePath(path);
+				pushedPaths.remove(path.getDstIpAddress());
 			}
 		}
 	}
@@ -687,6 +689,9 @@
 	private void calculateAndPushPath(Path path, MACAddress dstMacAddress) {
 		Interface dstInterface = path.getDstInterface();
 		
+		log.debug("Setting up path to {}, {}", path.getDstIpAddress().getHostAddress(),
+				dstMacAddress);
+		
 		List<PushedFlowMod> pushedFlows = new ArrayList<PushedFlowMod>();
 		
 		for (Interface srcInterface : interfaces.values()) {
