diff --git a/py_gen/templates/message.py b/py_gen/templates/message.py
index 761fb7f..89dcae5 100644
--- a/py_gen/templates/message.py
+++ b/py_gen/templates/message.py
@@ -122,11 +122,16 @@
     else:
         raise loxi.ProtocolError("unexpected message type")
 
-:: # TODO fix for OF 1.1+
 def parse_flow_mod(buf):
-    if len(buf) < 56 + 2:
+:: if version == 1:
+:: offset = 57
+:: elif version >= 2:
+:: offset = 25
+:: #endif
+    if len(buf) < ${offset} + 1:
         raise loxi.ProtocolError("message too short")
-    cmd, = struct.unpack_from("!H", buf, 56)
+    # Technically uint16_t for OF 1.0
+    cmd, = struct.unpack_from("!B", buf, ${offset})
     if cmd in flow_mod_parsers:
         return flow_mod_parsers[cmd](buf)
     else:
diff --git a/py_gen/tests/of11.py b/py_gen/tests/of11.py
index 7e6ada7..07a5437 100644
--- a/py_gen/tests/of11.py
+++ b/py_gen/tests/of11.py
@@ -83,12 +83,7 @@
                 fn()
 
     def test_parse_message(self):
-        expected_failures = [
-            ofp.message.flow_delete,
-            ofp.message.flow_delete_strict,
-            ofp.message.flow_modify,
-            ofp.message.flow_modify_strict,
-        ]
+        expected_failures = []
         for klass in self.klasses:
             if not issubclass(klass, ofp.message.Message):
                 continue
diff --git a/py_gen/tests/of12.py b/py_gen/tests/of12.py
index 447da03..c6c94ab 100644
--- a/py_gen/tests/of12.py
+++ b/py_gen/tests/of12.py
@@ -92,13 +92,7 @@
                 fn()
 
     def test_parse_message(self):
-        expected_failures = [
-            ofp.message.flow_add,
-            ofp.message.flow_delete,
-            ofp.message.flow_delete_strict,
-            ofp.message.flow_modify,
-            ofp.message.flow_modify_strict,
-        ]
+        expected_failures = []
         for klass in self.klasses:
             if not issubclass(klass, ofp.message.Message):
                 continue
diff --git a/py_gen/tests/of13.py b/py_gen/tests/of13.py
index a5845f0..eba9dd9 100644
--- a/py_gen/tests/of13.py
+++ b/py_gen/tests/of13.py
@@ -119,11 +119,6 @@
             ofp.message.aggregate_stats_request,
             ofp.message.desc_stats_reply,
             ofp.message.desc_stats_request,
-            ofp.message.flow_add,
-            ofp.message.flow_delete,
-            ofp.message.flow_delete_strict,
-            ofp.message.flow_modify,
-            ofp.message.flow_modify_strict,
             ofp.message.flow_stats_reply,
             ofp.message.flow_stats_request,
             ofp.message.group_desc_stats_reply,
