diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py
index 2ef8342bfae4ad1ff03048654622f74293f89387..1aa57e95dfb40dfb0bfbc27d87b1092777d086bf 100644
--- a/src/common/connection_handlers.py
+++ b/src/common/connection_handlers.py
@@ -758,26 +758,30 @@ class ConnectionDisco:
 		if self.commandInfoQuery(con, iq_obj):
 			raise common.xmpp.NodeProcessed
 
-		else:
-			iq = iq_obj.buildReply('result')
-			q = iq.getTag('query')
-			if node:
-				q.setAttr('node', node)
-			q.addChild('identity', attrs = gajim.gajim_identity)
-			extension = None
-			if node and node.find('#') != -1:
-				extension = node[node.index('#') + 1:]
-			client_version = 'http://gajim.org#' + gajim.caps_hash[self.name]
-
-			if node in (None, client_version):
-				for f in gajim.gajim_common_features:
-					q.addChild('feature', attrs = {'var': f})
-				for f in gajim.gajim_optional_features[self.name]:
-					q.addChild('feature', attrs = {'var': f})
-
-			if q.getChildren():
-				self.connection.send(iq)
-				raise common.xmpp.NodeProcessed
+		id = unicode(iq_obj.getAttr('id'))
+		if id[0] == 'p':
+			# We get this request from echo.server
+			raise common.xmpp.NodeProcessed
+
+		iq = iq_obj.buildReply('result')
+		q = iq.getTag('query')
+		if node:
+			q.setAttr('node', node)
+		q.addChild('identity', attrs = gajim.gajim_identity)
+		extension = None
+		if node and node.find('#') != -1:
+			extension = node[node.index('#') + 1:]
+		client_version = 'http://gajim.org#' + gajim.caps_hash[self.name]
+
+		if node in (None, client_version):
+			for f in gajim.gajim_common_features:
+				q.addChild('feature', attrs = {'var': f})
+			for f in gajim.gajim_optional_features[self.name]:
+				q.addChild('feature', attrs = {'var': f})
+
+		if q.getChildren():
+			self.connection.send(iq)
+			raise common.xmpp.NodeProcessed
 
 	def _DiscoverInfoErrorCB(self, con, iq_obj):
 		gajim.log.debug('DiscoverInfoErrorCB')