diff --git a/app/src/test/java/org/onosproject/segmentrouting/MockDefaultRoutingHandler.java b/app/src/test/java/org/onosproject/segmentrouting/MockDefaultRoutingHandler.java
index ec07238..d31be2f 100644
--- a/app/src/test/java/org/onosproject/segmentrouting/MockDefaultRoutingHandler.java
+++ b/app/src/test/java/org/onosproject/segmentrouting/MockDefaultRoutingHandler.java
@@ -27,11 +27,14 @@
  */
 public class MockDefaultRoutingHandler extends DefaultRoutingHandler {
     private Map<ConnectPoint, Set<IpPrefix>> subnetTable;
+    private Map<MockRoutingTableKey, MockRoutingTableValue> routingTable;
 
     MockDefaultRoutingHandler(SegmentRoutingManager srManager,
-                              Map<ConnectPoint, Set<IpPrefix>> subnetTable) {
+                              Map<ConnectPoint, Set<IpPrefix>> subnetTable,
+                              Map<MockRoutingTableKey, MockRoutingTableValue> routingTable) {
         super(srManager);
         this.subnetTable = subnetTable;
+        this.routingTable = routingTable;
     }
 
     @Override
@@ -56,6 +59,7 @@
                 subnetTable.remove(entry.getKey());
             }
         }
+        routingTable.entrySet().removeIf(e -> subnets.contains(e.getKey().ipPrefix));
         return true;
     }
 }
\ No newline at end of file
