diff --git a/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java b/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
index 2bc5b30..7dddd3f 100644
--- a/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
+++ b/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
@@ -1147,7 +1147,13 @@
      */
     void processDoubleTaggedFilter(DeviceId deviceId, PortNumber portNum, VlanId outerVlan,
                                    VlanId innerVlan, boolean install) {
-        FilteringObjective.Builder fob = buildDoubleTaggedFilteringObj(deviceId, portNum, outerVlan, innerVlan, false);
+        // We should trigger the removal of double tagged rules only when removing
+        // the filtering objective and no other hosts are connected to the same device port.
+        boolean cleanupDoubleTaggedRules = srManager.hostService
+                .getConnectedHosts(new ConnectPoint(deviceId, portNum)).size() == 0 && !install;
+        FilteringObjective.Builder fob = buildDoubleTaggedFilteringObj(deviceId, portNum,
+                                                                       outerVlan, innerVlan,
+                                                                       cleanupDoubleTaggedRules);
         if (fob == null) {
             // error encountered during build
             return;
