diff --git a/src/python/loxi/of10/message.py b/src/python/loxi/of10/message.py
index 76511f0..bd4b5f4 100644
--- a/src/python/loxi/of10/message.py
+++ b/src/python/loxi/of10/message.py
@@ -771,7 +771,7 @@
     version = 1
     type = 4
 
-    def __init__(self, xid=None, experimenter=None, subtype=None, data=None):
+    def __init__(self, xid=None, experimenter=None, data=None):
         if xid != None:
             self.xid = xid
         else:
@@ -780,10 +780,6 @@
             self.experimenter = experimenter
         else:
             self.experimenter = 0
-        if subtype != None:
-            self.subtype = subtype
-        else:
-            self.subtype = 0
         if data != None:
             self.data = data
         else:
@@ -797,7 +793,6 @@
         packed.append(struct.pack("!H", 0)) # placeholder for length at index 2
         packed.append(struct.pack("!L", self.xid))
         packed.append(struct.pack("!L", self.experimenter))
-        packed.append(struct.pack("!L", self.subtype))
         packed.append(self.data)
         length = sum([len(x) for x in packed])
         packed[2] = struct.pack("!H", length)
@@ -820,7 +815,6 @@
         reader = orig_reader.slice(_length - (2 + 2))
         obj.xid = reader.read("!L")[0]
         obj.experimenter = reader.read("!L")[0]
-        obj.subtype = reader.read("!L")[0]
         obj.data = str(reader.read_all())
         return obj
 
@@ -828,7 +822,6 @@
         if type(self) != type(other): return False
         if self.xid != other.xid: return False
         if self.experimenter != other.experimenter: return False
-        if self.subtype != other.subtype: return False
         if self.data != other.data: return False
         return True
 
@@ -843,9 +836,6 @@
                 else:
                     q.text('None')
                 q.text(","); q.breakable()
-                q.text("subtype = ");
-                q.text("%#x" % self.subtype)
-                q.text(","); q.breakable()
                 q.text("data = ");
                 q.pp(self.data)
             q.breakable()
