diff --git a/src/tabbed_chat_window.py b/src/tabbed_chat_window.py
index 36c59d66cca6875b9c86edab9b909d98e1cacc49..0c7b82d093df442bef4033a7d01da9f32a497806 100644
--- a/src/tabbed_chat_window.py
+++ b/src/tabbed_chat_window.py
@@ -122,6 +122,8 @@ class Tabbed_chat_window(chat.Chat):
 	def set_avatar(self, vcard):
 		if not vcard.has_key('PHOTO'):
 			return
+		if type(vcard['PHOTO']) != type({}):
+			return
 		img_decoded = None
 		if vcard['PHOTO'].has_key('BINVAL'):
 			try:
diff --git a/src/vcard.py b/src/vcard.py
index 75790c2feaef97dcc1ed6569eb06481403589fe9..25fcd919e1f7d569e97c0f8e3da5e97ab495482e 100644
--- a/src/vcard.py
+++ b/src/vcard.py
@@ -135,10 +135,10 @@ class Vcard_window:
 			pass
 
 	def set_values(self, vcard):
-		if not type(vcard[i]) == type({}):
-			return
 		for i in vcard.keys():
 			if i == 'PHOTO':
+				if not type(vcard[i]) == type({}):
+					continue
 				img_decoded = None
 				if vcard[i].has_key('BINVAL') and vcard[i].has_key('TYPE'):
 					img_encoded = vcard[i]['BINVAL']