diff --git a/src/common/caps.py b/src/common/caps.py
index 97c673a9bb2092cb630f0adfd401f1df4598ad18..e07c7cd19d73ea6c9cabb147e01b6f8e6ef88207 100644
--- a/src/common/caps.py
+++ b/src/common/caps.py
@@ -225,15 +225,14 @@ class ConnectionCaps(object):
 		caps=presence.getTag('c')
 		if not caps: return
 
-		try:
-			node, ver=caps['node'], caps['ver']
-		except KeyError:
+		node, ver=caps['node'], caps['ver']
+		if node is None or ver is None:
 			# improper caps in stanza, ignoring
 			return
 
 		try:
 			exts=caps['ext'].split(' ')
-		except KeyError:
+		except AttributeError:
 			# no exts means no exts, a perfectly valid case
 			exts=[]