diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py
index bfaf8f838c366c67d51a0354c29451b7c829eda7..81f10eda0e580b2ae0d4a2e2199ac6ea978cb525 100644
--- a/src/linkahead/common/models.py
+++ b/src/linkahead/common/models.py
@@ -2021,7 +2021,7 @@ class Message(object):
         type: Optional[str] = None,
         code: Optional[int] = None,
         description: Optional[str] = None,
-        body: Optional[str] = None,
+        body: Union[str, etree._Attrib, None] = None,
     ):  # @ReservedAssignment
         self.description = description
         self.type = type if type is not None else "Info"
@@ -5032,7 +5032,8 @@ def _parse_single_xml_element(elem: etree._Element):
         return Message(type='History', description=elem.get("transaction"))
     elif elem.tag.lower() == 'stats':
         counts = elem.find("counts")
-        attrib = str(counts.attrib) if counts is not None else None
+        if counts is not None:
+            attrib: Union[str, etree._Attrib] = counts.attrib
         return Message(type="Counts", description=None, body=attrib)
     elif elem.tag == "EntityACL":
         return ACL(xml=elem)