diff --git a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java
index 552e5ec..4c44dfc 100644
--- a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java
+++ b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java
@@ -73,7 +73,7 @@
         }
     }
 
-    private void sendMeterStatistic() {
+    public void sendMeterStatistic() {
         if (log.isTraceEnabled()) {
             log.trace("sendMeterStatistics {}:{}", sw.getStringId(), sw.getRole());
         }
diff --git a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java
index b343c56..76e4b15 100644
--- a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java
+++ b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java
@@ -183,6 +183,19 @@
 
         performOperation(sw, meterOp);
 
+        if (meterOp.type().equals(MeterOperation.Type.REMOVE)) {
+            forceMeterStats(deviceId);
+        }
+
+    }
+
+    private void forceMeterStats(DeviceId deviceId) {
+        Dpid dpid = Dpid.dpid(deviceId.uri());
+        OpenFlowSwitch sw = controller.getSwitch(dpid);
+
+        MeterStatsCollector once = new MeterStatsCollector(sw, 1);
+        once.sendMeterStatistic();
+
     }
 
     private void performOperation(OpenFlowSwitch sw, MeterOperation op) {
