diff --git a/src/chat_control.py b/src/chat_control.py
index 03b01244a20aaa6c6fc0218eb5999e5d0192a7a6..ded91bd4b7c954632e6479cf9541a731c2f78760 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -1618,8 +1618,10 @@ class ChatControl(ChatControlBase):
 	def got_connected(self):
 		ChatControlBase.got_connected(self)
 		# Refreshing contact
-		self.contact = gajim.contacts.get_contact_with_highest_priority(
+		contact = gajim.contacts.get_contact_with_highest_priority(
 			self.account, self.contact.jid)
-		if isinstance(self.contact, GC_Contact):
-			self.contact = gajim.contacts.contact_from_gc_contact(self.contact)
+		if isinstance(contact, GC_Contact):
+			contact = gajim.contacts.contact_from_gc_contact(contact)
+		if contact:
+			self.contact = contact
 		self.draw_banner()
diff --git a/src/common/contacts.py b/src/common/contacts.py
index 924f3df08678b89783f77a187f8c3959bcbf5d8a..3826cec72f58f96c68bf177d123f5975dc694220 100644
--- a/src/common/contacts.py
+++ b/src/common/contacts.py
@@ -212,7 +212,7 @@ class Contacts:
 			# jid may be a fake jid, try it
 			room, nick = jid.split('/')
 			contact = self.get_gc_contact(account, room, nick)
-			return contact or []
+			return contact
 		return self.get_highest_prio_contact_from_contacts(contacts)
 
 	def get_first_contact_from_jid(self, account, jid):