diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 27abfc0..0504fcc 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -3104,6 +3104,12 @@ gtk_tree_view_multipress_gesture_pressed (GtkGestureMultiPress *gesture,
       return;
     }
 
+   /* It could occur that the mouse pointer is on the expander, but
+    * that arrow_prelit does not reflect this, for instance when using
+    * the keyboard to expand rows. So, recompute prelight here.
+    */
+  update_prelight (tree_view, x, y);
+
   /* are we in an arrow? */
   if (tree_view->priv->prelight_node &&
       tree_view->priv->arrow_prelit &&
