diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index caa517c..a5497b8 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -5469,6 +5469,7 @@ gtk_tree_view_enter_notify (GtkWidget        *widget,
   GtkRBTree *tree;
   GtkRBNode *node;
   gint new_y;
+  gboolean from_interactive_search;
 
   /* Sanity check it */
   if (event->window != tree_view->priv->bin_window)
@@ -5483,8 +5484,11 @@ gtk_tree_view_enter_notify (GtkWidget        *widget,
     new_y = 0;
   _gtk_rbtree_find_offset (tree_view->priv->tree, new_y, &tree, &node);
 
-  if ((tree_view->priv->button_pressed_node == NULL) ||
-      (tree_view->priv->button_pressed_node == node))
+  from_interactive_search = (event->y == 0 && event->x == 0 && event->mode == GDK_CROSSING_GTK_UNGRAB);
+
+  if (((tree_view->priv->button_pressed_node == NULL) ||
+      (tree_view->priv->button_pressed_node == node)) &&
+      (! from_interactive_search))
     prelight_or_select (tree_view, tree, node, event->x, event->y);
 
   return TRUE;
