diff --git a/src/common/connection.py b/src/common/connection.py
index 05a209b0382d3383827f670d92751e90ba8ae69c..ff0654148a6499aa5e5278ba38b45ab2991f5fba 100644
--- a/src/common/connection.py
+++ b/src/common/connection.py
@@ -521,9 +521,9 @@ class Connection:
 			c = None
 		if not c:
 			gajim.log.debug('Couldn\'t connect to %s' % hostname)
+			self.connected = 0
 			self.dispatch('STATUS', 'offline')
 			self.dispatch('ERROR', _('Couldn\'t connect to %s') % hostname)
-			self.connected = 0
 			return None
 
 		con.RegisterHandler('message', self._messageCB)
@@ -555,9 +555,9 @@ class Connection:
 		try:
 			auth = con.auth(name, self.password, resource) #FIXME: blocking
 		except IOError: #probably a timeout
+			self.connected = 0
 			self.dispatch('STATUS', 'offline')
 			self.dispatch('ERROR', _('Couldn\'t connect to %s') % hostname)
-			self.connected = 0
 			return None
 		if auth:
 			con.initRoster()
@@ -565,9 +565,9 @@ class Connection:
 			return con
 		else:
 			gajim.log.debug('Couldn\'t authentificate to %s' % hostname)
+			self.connected = 0
 			self.dispatch('STATUS', 'offline')
 			self.dispatch('ERROR', _('Authentification failed with %s, check your login and password') % hostname)
-			self.connected = 0
 			return None
 # END connect