diff --git a/data/glade/features_window.glade b/data/glade/features_window.glade
index cff37256c1f860f056955816fab58e9f5387a32f..c22358438fdf27cb356f9b7ad6637605916e60b5 100644
--- a/data/glade/features_window.glade
+++ b/data/glade/features_window.glade
@@ -38,7 +38,7 @@
                 <property name="can_focus">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                 <property name="headers_clickable">True</property>
-                <signal name="row_activated" handler="on_features_treeview_row_activated"/>
+                <signal name="cursor_changed" handler="on_features_treeview_cursor_changed"/>
               </widget>
             </child>
           </widget>
diff --git a/src/features_window.py b/src/features_window.py
index 5f7d9a9c9402ec2d717b85f6515e3169b0e576d4..7a247b481aff51cbab2a1916d6373425afa4ef80 100644
--- a/src/features_window.py
+++ b/src/features_window.py
@@ -100,7 +100,9 @@ class FeaturesWindow:
 	def on_close_button_clicked(self, widget):
 		self.window.destroy()
 
-	def on_features_treeview_row_activated(self, widget, path, col):
+	def on_features_treeview_cursor_changed(self, widget):
+		selection = widget.get_selection()
+		path = selection.get_selected_rows()[1][0]
 		available = self.model[path][1]
 		feature = self.model[path][0]
 		if os.name == 'nt':