diff --git a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java
index 3b4bd2758e890b412eabcdcabf03205b6e07132e..015f3581d7f93fac65014181c1079f6f766efcf7 100644
--- a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java
+++ b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java
@@ -656,7 +656,12 @@ public class Forwarding extends ForwardingBase implements IFloodlightModule, IOF
                     if (FLOWMOD_DEFAULT_MATCH_TRANSPORT_DST) {
                         mb.setExact(MatchField.TCP_DST, tcp.getDestinationPort());
                     }
-                    if(
+		    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 &&