diff --git a/thunar/thunar-abstract-icon-view.c b/thunar/thunar-abstract-icon-view.c
index ef076996a02b26a4ae67564a898899ae7a6f754a..b3c3a5262610d7e51c9aa2f170dfc9ae8b05d515 100644
--- a/thunar/thunar-abstract-icon-view.c
+++ b/thunar/thunar-abstract-icon-view.c
@@ -388,9 +388,14 @@ thunar_abstract_icon_view_button_press_event (ExoIconView            *view,
                                               ThunarAbstractIconView *abstract_icon_view)
 {
   GtkTreePath       *path;
+  GtkWidget         *window;
 
   abstract_icon_view->priv->button_pressed = TRUE;
 
+  /* give focus to the clicked view */
+  window = gtk_widget_get_toplevel (GTK_WIDGET (abstract_icon_view));
+  thunar_window_focus_view (THUNAR_WINDOW (window), GTK_WIDGET (abstract_icon_view));
+
   if (event->type == GDK_BUTTON_PRESS && event->button == 3)
     {
       /* open the context menu on right clicks */
diff --git a/thunar/thunar-details-view.c b/thunar/thunar-details-view.c
index 6c0ab80717a3b75c343e05a934c2a26dc6de8ef2..97ac90d65e7d4709694e662f329e45e2edcbf3e0 100644
--- a/thunar/thunar-details-view.c
+++ b/thunar/thunar-details-view.c
@@ -707,11 +707,16 @@ thunar_details_view_button_press_event (GtkTreeView       *tree_view,
   GtkTreePath       *path = NULL;
   GtkTreeViewColumn *column;
   GtkTreeViewColumn *name_column;
+  GtkWidget         *window;
 
   /* check if the event is for the bin window */
   if (G_UNLIKELY (event->window != gtk_tree_view_get_bin_window (tree_view)))
     return thunar_details_view_column_header_clicked (details_view, event);
 
+  /* give focus to the clicked view */
+  window = gtk_widget_get_toplevel (GTK_WIDGET (details_view));
+  thunar_window_focus_view (THUNAR_WINDOW (window), GTK_WIDGET (details_view));
+
   /* get the current selection */
   selection = gtk_tree_view_get_selection (tree_view);
 
diff --git a/thunar/thunar-window.c b/thunar/thunar-window.c
index 86668b804320634f033d856be1c645b78f3d5e7e..b19c822965f38880a2afc2d9040f583c0a10d2d9 100644
--- a/thunar/thunar-window.c
+++ b/thunar/thunar-window.c
@@ -173,9 +173,6 @@ static void      thunar_window_notebook_select_current_page(ThunarWindow
 
 static GtkWidget*thunar_window_paned_notebooks_add        (ThunarWindow           *window);
 static void      thunar_window_paned_notebooks_switch     (ThunarWindow           *window);
-static gboolean  thunar_window_paned_notebooks_select     (GtkWidget              *view,
-                                                           GtkDirectionType       *direction,
-                                                           ThunarWindow           *window);
 static void      thunar_window_paned_notebooks_indicate_focus (ThunarWindow       *window,
                                                            GtkWidget              *notebook);
 static gboolean  thunar_window_split_view_is_active       (ThunarWindow           *window);
@@ -2641,9 +2638,6 @@ thunar_window_notebook_insert_page (ThunarWindow  *window,
   gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (window->notebook_selected), view, TRUE);
   gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (window->notebook_selected), view, TRUE);
 
-  /* only gets clicks on the notebook(page) it self */
-  g_signal_connect (G_OBJECT (gtk_bin_get_child (GTK_BIN (view))), "focus-in-event", G_CALLBACK (thunar_window_paned_notebooks_select), window);
-
   return view;
 }
 
@@ -2681,9 +2675,6 @@ thunar_window_paned_notebooks_add (ThunarWindow *window)
   g_signal_connect (G_OBJECT (notebook), "popup-menu", G_CALLBACK (thunar_window_notebook_popup_menu), window);
   g_signal_connect (G_OBJECT (notebook), "create-window", G_CALLBACK (thunar_window_notebook_create_window), window);
 
-  /* only gets clicks on tabs */
-  g_signal_connect (G_OBJECT (GTK_CONTAINER (notebook)), "focus-in-event", G_CALLBACK (thunar_window_paned_notebooks_select), window);
-
   gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
   gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE);
   gtk_container_set_border_width (GTK_CONTAINER (notebook), 0);
@@ -2731,25 +2722,22 @@ thunar_window_paned_notebooks_switch (ThunarWindow *window)
 
 
 
-static gboolean
-thunar_window_paned_notebooks_select (GtkWidget         *view,
-                                      GtkDirectionType  *direction,
-                                      ThunarWindow      *window)
+void
+thunar_window_focus_view (ThunarWindow *window,
+                          GtkWidget    *view)
 {
   GtkWidget  *selected_notebook;
 
-  _thunar_return_val_if_fail (THUNAR_IS_WINDOW (window), FALSE);
-  _thunar_return_val_if_fail (window->notebook_left != NULL || window->notebook_right != NULL, FALSE);
+  _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
 
   if (!thunar_window_split_view_is_active (window))
-    return FALSE;
+    return;
 
   selected_notebook = gtk_widget_get_ancestor (view, GTK_TYPE_NOTEBOOK);
   if (selected_notebook == window->notebook_selected)
-    return FALSE;
+    return;
 
   thunar_window_paned_notebooks_switch (window);
-  return FALSE;
 }
 
 
diff --git a/thunar/thunar-window.h b/thunar/thunar-window.h
index 588f0e0a99fbc55442ab39d2afe6aaa73f5f8e70..108e244360ed6d2c2d75dcf2bdafe6691b97bbd0 100644
--- a/thunar/thunar-window.h
+++ b/thunar/thunar-window.h
@@ -158,6 +158,8 @@ void                      thunar_window_toolbar_swap_items                  (Thu
 XfceGtkActionEntry*       thunar_window_get_action_entries                  (void);
 
 void                      thunar_window_reconnect_accelerators              (ThunarWindow        *window);
+void                      thunar_window_focus_view                          (ThunarWindow        *window,
+                                                                             GtkWidget           *view);
 
 
 G_END_DECLS;