diff --git a/src/vcard.py b/src/vcard.py
index aff36caa643dbc3ef1db04322955c42b16175e56..975d39a7404d4d418f7d42cd659997aeb6330ef7 100644
--- a/src/vcard.py
+++ b/src/vcard.py
@@ -281,8 +281,10 @@ class VcardWindow:
 		gajim.connections[self.account].request_last_status_time(self.contact.jid,
 			self.contact.resource)
 
-		# Request os info in contact is connected
-		if self.contact.show not in ('offline', 'error'):
+		# do not wait for os_info if contact is not connected
+		if self.contact.show in ('offline', 'error'):
+			self.os_info_arrived = True
+		else: # Request os info if contact is connected
 			gobject.idle_add(gajim.connections[self.account].request_os_info,
 				self.contact.jid, self.contact.resource)
 		self.os_info = {0: {'resource': self.contact.resource, 'client': '',