diff --git a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java
index e999598ac6204fa829c90d9c66f13e9745f2382a..3b4bd2758e890b412eabcdcabf03205b6e07132e 100644
--- a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java
+++ b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java
@@ -596,11 +596,15 @@ public class Forwarding extends ForwardingBase implements IFloodlightModule, IOF
                     if (FLOWMOD_DEFAULT_MATCH_TRANSPORT_DST) {
                         mb.setExact(MatchField.TCP_DST, tcp.getDestinationPort());
                     }
-                    if(sw.getOFFactory().getVersion().compareTo(OFVersion.OF_15) >= 0 ||
-		       (sw.getSwitchDescription().getHardwareDescription().toLowerCase().contains("open vswitch") && (
+		    if (sw.getOFFactory().getVersion().compareTo(OFVersion.OF_15) >= 0){
+			 if(FLOWMOD_DEFAULT_MATCH_TCP_FLAG){
+	                        mb.setExact(MatchField.TCP_FLAGS, U16.of(tcp.getFlags()));
+	                 }
+		    }
+                    else if(sw.getSwitchDescription().getHardwareDescription().toLowerCase().contains("open vswitch") && (
                        Integer.parseInt(sw.getSwitchDescription().getSoftwareDescription().toLowerCase().split("\\.")[0]) > 2  || (
                        Integer.parseInt(sw.getSwitchDescription().getSoftwareDescription().toLowerCase().split("\\.")[0]) == 2 &&
-                       Integer.parseInt(sw.getSwitchDescription().getSoftwareDescription().toLowerCase().split("\\.")[1]) >= 1 )))
+                       Integer.parseInt(sw.getSwitchDescription().getSoftwareDescription().toLowerCase().split("\\.")[1]) >= 1 ))
 		      ){
 	                    if(FLOWMOD_DEFAULT_MATCH_TCP_FLAG){
 	                        mb.setExact(MatchField.OVS_TCP_FLAGS, U16.of(tcp.getFlags()));