diff --git a/src/main/java/net/floodlightcontroller/flowcache/FlowReconcileManager.java b/src/main/java/net/floodlightcontroller/flowcache/FlowReconcileManager.java
index 98f0f88804bebd8f39f3fac5044db84cc4a8dbed..1eb9691a88c6e9eb1681206e819a4c22083e89b7 100644
--- a/src/main/java/net/floodlightcontroller/flowcache/FlowReconcileManager.java
+++ b/src/main/java/net/floodlightcontroller/flowcache/FlowReconcileManager.java
@@ -72,7 +72,7 @@ public class FlowReconcileManager
     protected static final String EnableConfigKey = "enable";
     protected boolean flowReconcileEnabled;
     
-    public int flowReconcileThreadRunCount;
+    volatile public int flowReconcileThreadRunCount;
     
     @Override
     public synchronized void addFlowReconcileListener(
@@ -311,9 +311,9 @@ public class FlowReconcileManager
                     break;
                 }
             }
-            flowReconcileThreadRunCount++;
             // Flush the flowCache counters.
             updateFlush();
+            flowReconcileThreadRunCount++;
         } else {
             if (logger.isTraceEnabled()) {
                 logger.trace("No flow to be reconciled.");