diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
index 250637d..90760f4 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
@@ -98,10 +98,7 @@
   Result<Boolean> replace(String tableName, K key, long oldVersion, V newValue);
 
   @Command
-  Long counterIncrementAndGet(String counterName);
-
-  @Command
-  Long counterGetAndIncrement(String counterName);
+  Long counterAddAndGet(String counterName, long delta);
 
   @Command
   Long counterGetAndAdd(String counterName, long delta);
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabaseState.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabaseState.java
index 208f0e0..f696139 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabaseState.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabaseState.java
@@ -225,13 +225,8 @@
     }
 
     @Override
-    public Long counterIncrementAndGet(String counterName) {
-        return getCounter(counterName).incrementAndGet();
-    }
-
-    @Override
-    public Long counterGetAndIncrement(String counterName) {
-        return getCounter(counterName).getAndIncrement();
+    public Long counterAddAndGet(String counterName, long delta) {
+        return getCounter(counterName).addAndGet(delta);
     }
 
     @Override
