diff --git a/py_gen/oftype.py b/py_gen/oftype.py
index 5d42058..6077955 100644
--- a/py_gen/oftype.py
+++ b/py_gen/oftype.py
@@ -27,6 +27,7 @@
 
 import of_g
 import loxi_utils.loxi_utils as utils
+import loxi_front_end.type_maps
 import unittest
 
 class OFType(object):
@@ -137,7 +138,8 @@
             return self._gen_string_unpack_expr(reader_expr, 256)
         elif utils.class_is_list(self.base):
             element_cls = utils.list_to_entry_type(self.base)[:-2]
-            if ((element_cls, self.version) in of_g.is_fixed_length):
+            if ((element_cls, self.version) in of_g.is_fixed_length) \
+               and not element_cls in loxi_front_end.type_maps.inheritance_map:
                 klass_name = self.base[8:-2]
                 element_size, = of_g.base_length[(element_cls, self.version)],
                 return 'loxi.generic_util.unpack_list(%s, common.%s.unpack)' % (reader_expr, klass_name)
diff --git a/py_gen/tests/of11.py b/py_gen/tests/of11.py
index 3057619..69d4a6a 100644
--- a/py_gen/tests/of11.py
+++ b/py_gen/tests/of11.py
@@ -70,7 +70,13 @@
 
     def test_serialization(self):
         expected_failures = [
+            ofp.common.flow_stats_entry,
             ofp.common.table_stats_entry,
+            ofp.message.flow_add,
+            ofp.message.flow_modify,
+            ofp.message.flow_modify_strict,
+            ofp.message.flow_delete,
+            ofp.message.flow_delete_strict,
             ofp.message.group_desc_stats_reply,
             ofp.message.group_stats_reply,
         ]
diff --git a/py_gen/tests/of12.py b/py_gen/tests/of12.py
index c89f5b6..02bc1a7 100644
--- a/py_gen/tests/of12.py
+++ b/py_gen/tests/of12.py
@@ -158,7 +158,13 @@
 
     def test_serialization(self):
         expected_failures = [
+            ofp.common.flow_stats_entry,
             ofp.common.table_stats_entry,
+            ofp.message.flow_add,
+            ofp.message.flow_modify,
+            ofp.message.flow_modify_strict,
+            ofp.message.flow_delete,
+            ofp.message.flow_delete_strict,
             ofp.message.group_desc_stats_reply,
             ofp.message.group_stats_reply,
         ]
diff --git a/py_gen/tests/of13.py b/py_gen/tests/of13.py
index 45609e4..74d19af 100644
--- a/py_gen/tests/of13.py
+++ b/py_gen/tests/of13.py
@@ -687,10 +687,26 @@
 
     def test_serialization(self):
         expected_failures = [
+            ofp.common.flow_stats_entry,
+            ofp.common.meter_config,
+            ofp.common.table_feature_prop_apply_actions,
+            ofp.common.table_feature_prop_apply_actions_miss,
+            ofp.common.table_feature_prop_instructions,
+            ofp.common.table_feature_prop_instructions_miss,
+            ofp.common.table_feature_prop_write_actions,
+            ofp.common.table_feature_prop_write_actions_miss,
+            ofp.common.table_features,
+            ofp.message.flow_add,
+            ofp.message.flow_delete,
+            ofp.message.flow_delete_strict,
+            ofp.message.flow_modify,
+            ofp.message.flow_modify_strict,
             ofp.message.group_desc_stats_reply,
             ofp.message.group_stats_reply,
-            ofp.message.meter_stats_reply,
+            ofp.message.meter_config_stats_reply,
             ofp.message.meter_features_stats_reply,
+            ofp.message.meter_mod,
+            ofp.message.meter_stats_reply,
             ofp.message.table_features_stats_reply,
             ofp.message.table_features_stats_request,
         ]
