diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java index 64230dbec4..34429a83a9 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java @@ -260,7 +260,9 @@ public class MeterManager storedMeterMap.keySet().stream() .filter(m -> m.getLeft().equals(deviceId)).forEach(m -> { - if (!meterEntriesMap.containsKey(m.getRight())) { + if ((storedMeterMap.get(m).state().equals(MeterState.PENDING_ADD) || + storedMeterMap.get(m).state().equals(MeterState.ADDED)) && + !meterEntriesMap.containsKey(m.getRight())) { // The meter is missing in the device. Reinstall! Meter meter = storedMeterMap.get(Pair.of(deviceId, m.getRight())); provider().performMeterOperation(deviceId,