diff --git a/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowModSerializer.java b/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowModSerializer.java
index 42d9afa8f68feea7610386782e27bc79c8959cf9..a7a6bd2680280c9733792da29f327789e2b63bdf 100644
--- a/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowModSerializer.java
+++ b/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowModSerializer.java
@@ -59,12 +59,9 @@ public class OFFlowModSerializer extends JsonSerializer<OFFlowMod> {
 		jGen.writeStringField("version", flowMod.getVersion().toString()); // return the enum names
 		jGen.writeStringField("command", flowMod.getCommand().toString());
 		jGen.writeNumberField("cookie", flowMod.getCookie().getValue());
-		jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());
-		jGen.writeStringField("tableId", flowMod.getTableId().toString());
 		jGen.writeNumberField("priority", flowMod.getPriority());
 		jGen.writeNumberField("idleTimeoutSec", flowMod.getIdleTimeout());
 		jGen.writeNumberField("hardTimeoutSec", flowMod.getHardTimeout());
-		jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());
 		jGen.writeStringField("outPort", flowMod.getOutPort().toString());
 
 		switch (flowMod.getVersion()) {
@@ -72,15 +69,26 @@ public class OFFlowModSerializer extends JsonSerializer<OFFlowMod> {
 			break;
 		case OF_11:
 			jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer11.toWireValue(flowMod.getFlags()));
+			jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());
+			jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());
+			jGen.writeStringField("tableId", flowMod.getTableId().toString());
 			break;
 		case OF_12:
 			jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer12.toWireValue(flowMod.getFlags()));
+			jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());
+			jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());
+			jGen.writeStringField("tableId", flowMod.getTableId().toString());
 			break;
 		case OF_13:
 			jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer13.toWireValue(flowMod.getFlags()));
+			jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());
+			jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());
 			break;
 		case OF_14:
 			jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer14.toWireValue(flowMod.getFlags()));
+			jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());
+			jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());
+			jGen.writeStringField("tableId", flowMod.getTableId().toString());
 			break;
 		default:
 			logger.error("Could not decode OFVersion {}", flowMod.getVersion());