diff --git a/src/dialogs.py b/src/dialogs.py
index 2ac5f86d696bb561a0cdc06087e2ac1732724bef..285469018bf6cd5b1c4be6a92ede71ad405e2d40 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -1400,6 +1400,7 @@ class XMLConsoleWindow:
 			title = _('XML Console')
 		
 		self.window.set_title(title)
+		self.window.show_all()
 		
 		self.xml.signal_autoconnect(self)
 
diff --git a/src/gajim.py b/src/gajim.py
index 4733ccf7b7ec1b7232e2646f5a7db094e1dbe071..35cf77939a7ebe7ddfa13872b5a8b6c6bf36e8c8 100755
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -1799,10 +1799,6 @@ class Interface:
 		
 		# get instances for windows/dialogs that will show_all()/hide()
 		self.instances['file_transfers'] = dialogs.FileTransfersWindow()
-		
-		for account in gajim.connections:
-			self.instances[account]['xml_console'] = dialogs.XMLConsoleWindow(
-				account)
 
 		gobject.timeout_add(100, self.autoconnect)
 		gobject.timeout_add(200, self.process_connections)
diff --git a/src/roster_window.py b/src/roster_window.py
index 9deda1fe42a53381e595e5908d5c42828c6ca669..1eea772b31efcc589406932c39c6a29a40b474f2 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -549,7 +549,8 @@ class RosterWindow:
 		if gajim.interface.instances[account].has_key('xml_console'):
 			gajim.interface.instances[account]['xml_console'].window.present()
 		else:
-			gajim.interface.instances[account]['xml_console'].window.show_all()
+			gajim.interface.instances[account]['xml_console'] = \
+				dialogs.XMLConsoleWindow(account)
 
 	def on_set_motd_menuitem_activate(self, widget, account):
 		server = gajim.config.get_per('accounts', account, 'hostname')