Index: gtk+-2.12.1/gtk/gtktreeview.c
===================================================================
--- gtk+-2.12.1.orig/gtk/gtktreeview.c	2007-11-01 11:35:32.436235235 +0100
+++ gtk+-2.12.1/gtk/gtktreeview.c	2007-11-01 11:36:23.295133518 +0100
@@ -9661,7 +9661,8 @@
 
       if (cursor_path)
 	{
-	  if (tree_view->priv->selection->type == GTK_SELECTION_MULTIPLE)
+	  if (tree_view->priv->selection->type == GTK_SELECTION_MULTIPLE ||
+	      tree_view->priv->selection->type == GTK_SELECTION_SINGLE)
 	    gtk_tree_view_real_set_cursor (tree_view, cursor_path, FALSE, FALSE);
 	  else
 	    gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, FALSE);
