diff --git a/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java b/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java
index 67e0867..01514d4 100644
--- a/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java
@@ -299,7 +299,8 @@
         private void extraneousFlow(FlowRule flowRule) {
             checkNotNull(flowRule, FLOW_RULE_NULL);
             checkValidity();
-            removeFlowRules(flowRule);
+            FlowRuleProvider frp = getProvider(flowRule.deviceId());
+            frp.removeFlowRule(flowRule);
             log.debug("Flow {} is on switch but not in store.", flowRule);
         }
 
diff --git a/core/net/src/main/java/org/onlab/onos/net/statistic/impl/StatisticManager.java b/core/net/src/main/java/org/onlab/onos/net/statistic/impl/StatisticManager.java
index 4bca215..9b1a2e0 100644
--- a/core/net/src/main/java/org/onlab/onos/net/statistic/impl/StatisticManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/statistic/impl/StatisticManager.java
@@ -9,6 +9,7 @@
 import org.onlab.onos.net.ConnectPoint;
 import org.onlab.onos.net.Link;
 import org.onlab.onos.net.Path;
+
 import org.onlab.onos.net.flow.FlowRule;
 import org.onlab.onos.net.flow.FlowRuleEvent;
 import org.onlab.onos.net.flow.FlowRuleListener;
@@ -35,12 +36,14 @@
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected StatisticStore statisticStore;
 
+
     private final InternalFlowRuleListener listener = new InternalFlowRuleListener();
 
     @Activate
     public void activate() {
         flowRuleService.addListener(listener);
         log.info("Started");
+
     }
 
     @Deactivate
@@ -81,7 +84,22 @@
 
         @Override
         public void event(FlowRuleEvent event) {
-
+//            FlowRule rule = event.subject();
+//            switch (event.type()) {
+//                case RULE_ADDED:
+//                case RULE_UPDATED:
+//                    if (rule instanceof FlowEntry) {
+//                        statisticStore.addOrUpdateStatistic((FlowEntry) rule);
+//                    }
+//                    break;
+//                case RULE_ADD_REQUESTED:
+//                    statisticStore.prepareForStatistics(rule);
+//                    break;
+//                case RULE_REMOVE_REQUESTED:
+//                case RULE_REMOVED:
+//                    statisticStore.removeFromStatistics(rule);
+//                    break;
+//            }
         }
     }
 
