diff --git a/src/python/of10/class_maps.py b/src/python/of10/class_maps.py
index 7e61571..668cd1b 100644
--- a/src/python/of10/class_maps.py
+++ b/src/python/of10/class_maps.py
@@ -242,7 +242,7 @@
                                        'flags'
                                       ],
     'ofp_error_msg'                 : [
-                                       'type',
+                                       'err_type',
                                        'code'
                                       ],
     '_ignore' : []
diff --git a/src/python/of10/cstruct.py b/src/python/of10/cstruct.py
index 06330e1..eb341a4 100644
--- a/src/python/of10/cstruct.py
+++ b/src/python/of10/cstruct.py
@@ -3474,7 +3474,7 @@
         """Initialize
         Declare members and default values
         """
-        self.type = 0
+        self.err_type = 0
         self.code = 0
 
     def __assert(self):
@@ -3490,7 +3490,7 @@
             if(not self.__assert()[0]):
                 return None
         packed = ""
-        packed += struct.pack("!HH", self.type, self.code)
+        packed += struct.pack("!HH", self.err_type, self.code)
         return packed
 
     def unpack(self, binaryString):
@@ -3503,7 +3503,7 @@
         fmt = '!HH'
         start = 0
         end = start + struct.calcsize(fmt)
-        (self.type, self.code) = struct.unpack(fmt,  binaryString[start:end])
+        (self.err_type, self.code) = struct.unpack(fmt,  binaryString[start:end])
         return binaryString[4:]
 
     def __len__(self):
@@ -3516,7 +3516,7 @@
         """Return True if self and other have same values
         """
         if type(self) != type(other): return False
-        if self.type !=  other.type: return False
+        if self.err_type !=  other.err_type: return False
         if self.code !=  other.code: return False
         return True
 
@@ -3526,7 +3526,7 @@
         """Generate string showing basic members of structure
         """
         outstr = ''
-        outstr += prefix + 'type: ' + str(self.type) + '\n'
+        outstr += prefix + 'err_type: ' + str(self.err_type) + '\n'
         outstr += prefix + 'code: ' + str(self.code) + '\n'
         return outstr
 
diff --git a/src/python/of10/message.py b/src/python/of10/message.py
index 76d7d30..41b6a83 100644
--- a/src/python/of10/message.py
+++ b/src/python/of10/message.py
@@ -538,7 +538,7 @@
     @arg type: The message type (OFPT_ERROR=1)
 
     Data members inherited from ofp_error_msg:
-    @arg type
+    @arg err_type
     @arg code
     @arg data: Binary string following message members
 
diff --git a/src/python/of10/parse.py b/src/python/of10/parse.py
index 5c3ce65..a399c68 100644
--- a/src/python/of10/parse.py
+++ b/src/python/of10/parse.py
@@ -118,7 +118,7 @@
     elif hdr.type == cstruct.OFPT_ERROR:
         sub_hdr = message.ofp_error_msg()
         sub_hdr.unpack(binary_string[cstruct.OFP_HEADER_BYTES:])
-        return error_to_class_map[sub_hdr.type]()
+        return error_to_class_map[sub_hdr.err_type]()
     else:
         parse_logger.error("Cannot parse pkt to message")
         return None
