diff --git a/gajim/common/modules/misc.py b/gajim/common/modules/misc.py
index fdd6acacd38287bf1751cf60f1dc7f5716528e8d..03fad5be9d0c988e7e73b70acbd647c1649f9c0d 100644
--- a/gajim/common/modules/misc.py
+++ b/gajim/common/modules/misc.py
@@ -14,19 +14,25 @@
 
 # All XEPs that don’t need their own module
 
+from typing import Optional
+
 import logging
 
+from nbxmpp.structs import MessageProperties
+
+from gajim.common.helpers import AdditionalDataDict
 from gajim.common.i18n import get_rfc5646_lang
 
 log = logging.getLogger('gajim.c.m.misc')
 
-
 # XEP-0066: Out of Band Data
-
-def parse_oob(properties, additional_data):
+def parse_oob(properties: MessageProperties,
+              additional_data: AdditionalDataDict
+              ) -> None:
     if not properties.is_oob:
         return
 
+    assert properties.oob is not None
     additional_data.set_value('gajim', 'oob_url', properties.oob.url)
     if properties.oob.desc is not None:
         additional_data.set_value('gajim', 'oob_desc',
@@ -34,18 +40,20 @@ def parse_oob(properties, additional_data):
 
 
 # XEP-0308: Last Message Correction
-
-def parse_correction(properties):
+def parse_correction(properties: MessageProperties) -> Optional[str]:
     if not properties.is_correction:
         return None
+    assert properties.correction is not None
     return properties.correction.id
 
 
 # XEP-0071: XHTML-IM
-
-def parse_xhtml(properties, additional_data):
+def parse_xhtml(properties: MessageProperties,
+                additional_data: AdditionalDataDict
+                ) -> None:
     if not properties.has_xhtml:
         return
 
+    assert properties.xhtml is not None
     body = properties.xhtml.get_body(get_rfc5646_lang())
     additional_data.set_value('gajim', 'xhtml', body)