diff --git a/src/main/java/net/floodlightcontroller/core/OFSwitchBase.java b/src/main/java/net/floodlightcontroller/core/OFSwitchBase.java
index 46351f299a73a2f6c4e579ec727f3cfa77a10c5c..17bbcf07e292b25b7ad2dae2c675a80389aa199e 100644
--- a/src/main/java/net/floodlightcontroller/core/OFSwitchBase.java
+++ b/src/main/java/net/floodlightcontroller/core/OFSwitchBase.java
@@ -186,12 +186,6 @@ public abstract class OFSwitchBase implements IOFSwitch {
     }
     
     @Override
-    @LogMessageDoc(level="WARN",
-    message="Sending OF message that modifies switch " +
-            "state while in the slave role: {switch}",
-    explanation="An application has sent a message to a switch " +
-            "that is not valid when the switch is in a slave role",
-    recommendation=LogMessageDoc.REPORT_CONTROLLER_BUG)
     public void write(OFMessage m, FloodlightContext bc)
             throws IOException {
         Map<IOFSwitch,List<OFMessage>> msg_buffer_map = local_msg_buffer.get();
@@ -201,20 +195,6 @@ public abstract class OFSwitchBase implements IOFSwitch {
             msg_buffer_map.put(this, msg_buffer);
         }
 
-        if (role == Role.SLAVE) {
-            switch (m.getType()) {
-                case PACKET_OUT:
-                case FLOW_MOD:
-                case PORT_MOD:
-                    log.warn("Sending OF message that modifies switch " +
-                             "state while in the slave role: {}", 
-                             m.getType().name());
-                    break;
-                default:
-                    break;
-            }
-        }
-
         this.floodlightProvider.handleOutgoingMessage(this, m, bc);
         msg_buffer.add(m);
 
@@ -226,12 +206,31 @@ public abstract class OFSwitchBase implements IOFSwitch {
     }
 
     @Override
+    @LogMessageDoc(level="WARN",
+                   message="Sending OF message that modifies switch " +
+                           "state while in the slave role: {switch}",
+                   explanation="An application has sent a message to a switch " +
+                           "that is not valid when the switch is in a slave role",
+                   recommendation=LogMessageDoc.REPORT_CONTROLLER_BUG)
     public void write(List<OFMessage> msglist, 
                       FloodlightContext bc) throws IOException {
-        for (OFMessage m : msglist)
-        	this.write(m, bc);
-        
-        flush ();
+        for (OFMessage m : msglist) {
+            if (role == Role.SLAVE) {
+                switch (m.getType()) {
+                    case PACKET_OUT:
+                    case FLOW_MOD:
+                    case PORT_MOD:
+                        log.warn("Sending OF message that modifies switch " +
+                                 "state while in the slave role: {}", 
+                                 m.getType().name());
+                        break;
+                    default:
+                        break;
+                }
+            }
+            this.floodlightProvider.handleOutgoingMessage(this, m, bc);
+        }
+        this.write(msglist);
     }
 
     private void write(List<OFMessage> msglist) throws IOException {