diff --git a/src/roster_window.py b/src/roster_window.py
index 7b63400b7e5303f667e8b6c5fbf412065894500a..63d334571b0110c1bc76f2f775becdb847a45f13 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -3510,7 +3510,7 @@ class RosterWindow:
 			not gajim.config.get('quit_on_roster_x_button'):
 				self.tooltip.hide_tooltip()
 				self.window.hide()
-		elif gtk.gdk.CONTROL_MASK and event.keyval == gtk.keysyms.i:
+		elif event.state & gtk.gdk.CONTROL_MASK and event.keyval == gtk.keysyms.i:
 			treeselection = self.tree.get_selection()
 			model, list_of_paths = treeselection.get_selected_rows()
 			for path in list_of_paths:
@@ -3520,7 +3520,7 @@ class RosterWindow:
 					account = model[path][C_ACCOUNT].decode('utf-8')
 					contact = gajim.contacts.get_first_contact_from_jid(account, jid)
 					self.on_info(widget, contact, account)
-		elif gtk.gdk.CONTROL_MASK and event.keyval == gtk.keysyms.h:
+		elif event.state & gtk.gdk.CONTROL_MASK and event.keyval == gtk.keysyms.h:
 			treeselection = self.tree.get_selection()
 			model, list_of_paths = treeselection.get_selected_rows()
 			if len(list_of_paths) != 1: