diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java
index ce7a33c..b7480b0 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java
@@ -252,8 +252,20 @@
 
         if (operType == FlowSpecOperation.ADD) {
             if (flowSpec.routeDistinguisher() == null) {
+                if (flowSpecRibOut.flowSpecTree().containsKey(prefix)) {
+                    sendFlowSpecUpdateMessageToPeer(FlowSpecOperation.DELETE,
+                                                    flowSpecRibOut.flowSpecTree().get(prefix));
+                }
                 flowSpecRibOut.add(prefix, flowSpec);
             } else {
+                if (vpnFlowSpecRibOut.vpnFlowSpecTree().containsKey(flowSpec.routeDistinguisher())) {
+                    Map<BgpFlowSpecPrefix, BgpFlowSpecDetails> fsTree;
+                    fsTree = vpnFlowSpecRibOut.vpnFlowSpecTree().get(flowSpec.routeDistinguisher());
+                    if (fsTree.containsKey(prefix)) {
+                        sendFlowSpecUpdateMessageToPeer(FlowSpecOperation.DELETE,
+                                                        fsTree.get(prefix));
+                    }
+                }
                 vpnFlowSpecRibOut.add(flowSpec.routeDistinguisher(), prefix, flowSpec);
             }
         } else if (operType == FlowSpecOperation.DELETE) {
