diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py
index f16b55b2bc0a6923b97c92879a50bbc8b0f1e003..a178ee18aaa38d2664bdcf9e1881b9842043377f 100644
--- a/plugins/gtkgui/gtkgui.py
+++ b/plugins/gtkgui/gtkgui.py
@@ -699,6 +699,8 @@ class plugin:
 		self.systray_enabled = True
 
 	def hide_systray(self):
+		if not self.systray_enabled:
+			return
 		self.systray.hide_icon()
 		self.systray_enabled = False
 	
diff --git a/plugins/gtkgui/roster_window.py b/plugins/gtkgui/roster_window.py
index 3f6d136d5c527045e06c475f0dad81f09a25be52..8f0cddea5a197692e53a04225af69075eec198a0 100644
--- a/plugins/gtkgui/roster_window.py
+++ b/plugins/gtkgui/roster_window.py
@@ -691,7 +691,8 @@ class Roster_window:
 				if accountIter:
 					model.set_value(accountIter, 0, self.pixbufs['connecting'])
 				self.plugin.connected[account] = 1
-				self.plugin.systray.set_status('connecting')
+				if self.plugin.systray_enabled:
+					self.plugin.systray.set_status('connecting')
 
 			save_pass = 0
 			if self.plugin.accounts[account].has_key('savepass'):
@@ -797,7 +798,8 @@ class Roster_window:
 		self.cb.handler_unblock(self.id_signal_cb)
 		statuss = ['offline', 'connecting', 'online', 'away', 'xa', 'dnd',\
 			'invisible']
-		self.plugin.systray.set_status(statuss[maxi])
+		if self.plugin.systray_enabled:
+			self.plugin.systray.set_status(statuss[maxi])
 		image = self.pixbufs[statuss[maxi]]
 		if image.get_storage_type() == gtk.IMAGE_ANIMATION:
 			pixbuf = image.get_animation().get_static_image()