diff --git a/src/gajim.py b/src/gajim.py
index c1a3284b5bad0dd7bd3e13d202df29536d79ba24..3edfbde03a60e7803c80a7e139f5edcb364d0b96 100755
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -1223,8 +1223,12 @@ class Interface:
 
 	def handle_event_signed_in(self, account, empty):
 		'''SIGNED_IN event is emitted when we sign in, so handle it'''
-		# join already open groupchats
 		self.roster.actions_menu_needs_rebuild = True
+		invisible_show = gajim.SHOW_LIST.index('invisible')
+		# We cannot join rooms if we are invisible
+		if gajim.connections[account].connected == invisible_show:
+			return
+		# join already open groupchats
 		for gc_control in self.msg_win_mgr.get_controls(message_control.TYPE_GC):
 			if account != gc_control.account:
 				continue