diff --git a/gajim/common/app.py b/gajim/common/app.py
index ed8f145b7373f0fa82b2f01e59b3f2de21adbd36..783381c25dbe3607c97c041fb4dca1eade0dba19 100644
--- a/gajim/common/app.py
+++ b/gajim/common/app.py
@@ -51,6 +51,7 @@
 from gajim.common.types import InterfaceT  # pylint: disable=unused-import
 from gajim.common.types import LoggerT  # pylint: disable=unused-import
 from gajim.common.types import ConnectionT  # pylint: disable=unused-import
+from gajim.common.types import LegacyContactsAPIT  # pylint: disable=unused-import
 
 interface = cast(InterfaceT, None)
 thread_interface = lambda *args: None # Interface to run a thread and then a callback
@@ -78,7 +79,7 @@
 # {acct1: {jid1: time1, jid2: time2}, }
 last_message_time = {}  # type: Dict[str, Dict[str, float]]
 
-contacts = None
+contacts = cast(LegacyContactsAPIT, None)
 
 # tell if we are connected to the room or not
 # {acct: {room_jid: True}}
diff --git a/gajim/common/types.py b/gajim/common/types.py
index e0f3b0c253fe01cdf52d41beb21208ce90c2bf8d..71f70123197feb585f30968932b51a91beb2533e 100644
--- a/gajim/common/types.py
+++ b/gajim/common/types.py
@@ -32,6 +32,7 @@
     from gajim.common.zeroconf.connection_zeroconf import ConnectionZeroconf
     from gajim.common.contacts import Contact
     from gajim.common.contacts import GC_Contact
+    from gajim.common.contacts import LegacyContactsAPI
     from gajim.common.nec import NetworkEvent
     from gajim.common.nec import NetworkEventsController
     from gajim.common.logger import Logger
@@ -46,6 +47,7 @@
 ConnectionT = Union['Client', 'ConnectionZeroconf']
 ContactsT = Union['Contact', 'GC_Contact']
 ContactT = Union['Contact']
+LegacyContactsAPIT = Union['LegacyContactsAPI']
 
 # PEP
 PEPNotifyCallback = Callable[[nbxmpp.JID, nbxmpp.Node], None]