diff --git a/src/main/java/net/floodlightcontroller/core/web/serializers/OXMSerializer.java b/src/main/java/net/floodlightcontroller/core/web/serializers/OXMSerializer.java
index d0271d6838aec13d8ce97ec389ad5aeb6991f228..c0b13916edfe037ab43e298f68be93fe18279967 100644
--- a/src/main/java/net/floodlightcontroller/core/web/serializers/OXMSerializer.java
+++ b/src/main/java/net/floodlightcontroller/core/web/serializers/OXMSerializer.java
@@ -390,6 +390,10 @@ public class OXMSerializer {
 		
 		map.put(U32.ofRaw(NXM_1 | (36 << SHIFT_FIELD) | 4), STR_NXM + "internal_recirc_id");
 		map.put(U32.ofRaw(NXM_1 | (36 << SHIFT_FIELD) | 4 * 2 | MASKED), STR_NXM + "internal_recirc_id" + STR_MASKED);
+		
+		map.put(U32.ofRaw(NXM_1 | (37 << SHIFT_FIELD) | 4), STR_NXM + MatchUtils.STR_PBB_ISID);
+		map.put(U32.ofRaw(NXM_1 | (37 << SHIFT_FIELD) | 4 * 2 | MASKED), STR_NXM + MatchUtils.STR_PBB_ISID + STR_MASKED);
+		
 	}
 	
 	/**
diff --git a/src/main/java/net/floodlightcontroller/staticflowentry/StaticFlowEntryPusher.java b/src/main/java/net/floodlightcontroller/staticflowentry/StaticFlowEntryPusher.java
index 87367e0075bcb18e9d481a78f77f868de72e4437..e0f33f14be22fa12358503e06007abd561068f85 100644
--- a/src/main/java/net/floodlightcontroller/staticflowentry/StaticFlowEntryPusher.java
+++ b/src/main/java/net/floodlightcontroller/staticflowentry/StaticFlowEntryPusher.java
@@ -741,11 +741,11 @@ implements IOFSwitchListener, IFloodlightModule, IStaticFlowEntryPusherService,
 					Map<String, OFFlowMod> flowsByName = getFlows(sw.getId());
 					for (Map.Entry<String, OFFlowMod> entry : flowsByName.entrySet()) {
 						if (msg.getCookie().equals(entry.getValue().getCookie()) &&
-								msg.getHardTimeout() == entry.getValue().getHardTimeout() &&
+								(msg.getVersion().compareTo(OFVersion.OF_12) < 0 ? true : msg.getHardTimeout() == entry.getValue().getHardTimeout()) &&
 								msg.getIdleTimeout() == entry.getValue().getIdleTimeout() &&
 								msg.getMatch().equals(entry.getValue().getMatch()) &&
 								msg.getPriority() == entry.getValue().getPriority() &&
-								msg.getTableId().equals(entry.getValue().getTableId())
+								(msg.getVersion().compareTo(OFVersion.OF_10) == 0 ? true : msg.getTableId().equals(entry.getValue().getTableId()))
 								) {
 							flowToRemove = entry.getKey();
 							break;