diff --git a/plugins/gtkgui/systray.py b/plugins/gtkgui/systray.py
index 6d16b0ad76e75ebdbc20805b4ef8d0e273021c1a..6383280e71734c6afce3119d0eba32a6d56d02bd 100644
--- a/plugins/gtkgui/systray.py
+++ b/plugins/gtkgui/systray.py
@@ -175,13 +175,12 @@ class systray:
 		if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1:
 			if len(self.jids) == 0:
 				win = self.plugin.roster.window
-				if win.iconify_initially:
-					win.deiconify()
+				if win.is_active():
+					win.iconify()
+					win.skip_taskbar_hint = True
 				else:
-					if win.is_active():
-						win.iconify()
-					else:
-						win.present()
+					win.present()
+					win.skip_taskbar_hint = False
 			else:
 				account = self.jids[0][0]
 				jid = self.jids[0][1]
@@ -194,7 +193,7 @@ class systray:
 				else:
 					self.plugin.roster.new_chat(
 						self.plugin.roster.contacts[account][jid][0], account)
-		if event.button == 3:
+		if event.button == 3: # right click
 			self.make_menu(event)
 	
 	def on_online_menuitem_activate(self, widget):