Index: gtk+-2.10.11/gtk/gtkfilechooserdefault.c
===================================================================
--- gtk+-2.10.11.orig/gtk/gtkfilechooserdefault.c	2007-03-14 05:07:03.000000000 +0100
+++ gtk+-2.10.11/gtk/gtkfilechooserdefault.c	2007-04-11 16:45:23.062368250 +0200
@@ -3225,8 +3225,22 @@
 shortcuts_selection_changed_cb (GtkTreeSelection      *selection,
 				GtkFileChooserDefault *impl)
 {
+  GtkTreeIter iter;
+  GtkTreeIter child_iter;
+
   bookmarks_check_remove_sensitivity (impl);
   shortcuts_check_popup_sensitivity (impl);
+
+  if (impl->changing_folder)
+    return;
+
+  if (gtk_tree_selection_get_selected(selection, NULL, &iter))
+    {
+      gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (impl->shortcuts_filter_model),
+							&child_iter,
+							&iter);
+      shortcuts_activate_iter (impl, &child_iter);
+    }
 }
 
 static gboolean
@@ -7844,25 +7858,6 @@
       gtk_file_path_free (path);
       return retval;
     }
-  else if (impl->toplevel_last_focus_widget == impl->browse_shortcuts_tree_view)
-    {
-      /* The focus is on a dialog's action area button, *and* the widget that
-       * was focused immediately before it is the shortcuts list.  Switch to the
-       * selected shortcut and tell the caller not to respond.
-       */
-      GtkTreeIter iter;
-
-      if (shortcuts_get_selected (impl, &iter))
-	{
-	  shortcuts_activate_iter (impl, &iter);
-	  
-	  gtk_widget_grab_focus (impl->browse_files_tree_view);
-	}
-      else
-	goto file_list;
-
-      return FALSE;
-    }
   else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view)
     {
       /* The focus is on a dialog's action area button, *and* the widget that
@@ -8191,17 +8186,6 @@
 			    GtkTreeViewColumn     *column,
 			    GtkFileChooserDefault *impl)
 {
-  GtkTreeIter iter;
-  GtkTreeIter child_iter;
-
-  if (!gtk_tree_model_get_iter (impl->shortcuts_filter_model, &iter, path))
-    return;
-
-  gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (impl->shortcuts_filter_model),
-						    &child_iter,
-						    &iter);
-  shortcuts_activate_iter (impl, &child_iter);
-
   gtk_widget_grab_focus (impl->browse_files_tree_view);
 }
 
