diff --git a/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java b/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java
index 0646e66..0b4e2a4 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java
@@ -282,7 +282,10 @@
         MeterKey key = MeterKey.key(meter.deviceId(), meter.id());
         meters.computeIfPresent(key, (k, v) -> {
             DefaultMeter m = (DefaultMeter) v.meter();
-            m.setState(meter.state());
+            MeterState meterState = m.state();
+            if (meterState == MeterState.PENDING_ADD) {
+                m.setState(meter.state());
+            }
             m.setProcessedPackets(meter.packetsSeen());
             m.setProcessedBytes(meter.bytesSeen());
             m.setLife(meter.life());
@@ -329,11 +332,12 @@
         // Remove the future
         futures.remove(key);
         // Remove the meter
-        meters.remove(key);
-        // Free the id
-        freeMeterId(m.deviceId(), m.id());
-        // Finally notify the delegate
-        notifyDelegate(new MeterEvent(MeterEvent.Type.METER_REMOVED, m));
+        if (Versioned.valueOrNull(meters.remove(key)) != null) {
+            // Free the id
+            freeMeterId(m.deviceId(), m.id());
+            // Finally notify the delegate
+            notifyDelegate(new MeterEvent(MeterEvent.Type.METER_REMOVED, m));
+        }
     }
 
     @Override
