diff --git a/src/gui_interface.py b/src/gui_interface.py
index 5c0f4dcb0d50dbe4d32cd05328dc22972359b19d..cf5192a089762ca97d3fc29b85efc74a4fa9ad2c 100644
--- a/src/gui_interface.py
+++ b/src/gui_interface.py
@@ -773,9 +773,14 @@ class Interface:
             if obj.sub == 'remove':
                 return
             # Add new contact to roster
+            keyID = ''
+            attached_keys = gajim.config.get_per('accounts', account,
+                'attached_gpg_keys').split()
+            if obj.jid in attached_keys:
+                keyID = attached_keys[attached_keys.index(obj.jid) + 1]
             contact = gajim.contacts.create_contact(jid=obj.jid,
                 account=account, name=obj.nickname, groups=obj.groups,
-                show='offline', sub=obj.sub, ask=obj.ask)
+                show='offline', sub=obj.sub, ask=obj.ask, keyID=keyID)
             gajim.contacts.add_contact(account, contact)
             self.roster.add_contact(obj.jid, account)
         else: