diff --git a/src/common/contacts.py b/src/common/contacts.py
index 9aa7bc167dc399f1ac928b5b84b4aaa7d8885e38..be377e205c6ed91e34d6a07f6625604223950427 100644
--- a/src/common/contacts.py
+++ b/src/common/contacts.py
@@ -144,7 +144,9 @@ class Contacts:
 		contacts = self._contacts[account][contact.jid]
 		# We had only one that was offline, remove it
 		if len(contacts) == 1 and contacts[0].show == 'offline':
-			self.remove_contact(account, contacts[0])
+			# Do not use self.remove_contact: it deteles
+			# self._contacts[account][contact.jid]
+			contacts.remove(contacts[0])
 		# If same JID with same resource already exists, use the new one
 		for c in contacts:
 			if c.resource == contact.resource: