Index: gtkfilechooserbutton.c
===================================================================
--- gtkfilechooserbutton.c	(revision 19078)
+++ gtkfilechooserbutton.c	(working copy)
@@ -148,7 +148,6 @@
   gulong combo_box_changed_id;
   gulong dialog_file_activated_id;
   gulong dialog_folder_changed_id;
-  gulong dialog_selection_changed_id;
   gulong fs_volumes_changed_id;
   gulong fs_bookmarks_changed_id;
 
@@ -290,8 +289,6 @@
 
 static void     dialog_update_preview_cb         (GtkFileChooser *dialog,
 						  gpointer        user_data);
-static void     dialog_selection_changed_cb      (GtkFileChooser *dialog,
-						  gpointer        user_data);
 static void     dialog_file_activated_cb         (GtkFileChooser *dialog,
 						  gpointer        user_data);
 static void     dialog_current_folder_changed_cb (GtkFileChooser *dialog,
@@ -707,9 +704,6 @@
   priv->dialog_file_activated_id =
     g_signal_connect (priv->dialog, "file-activated",
 		      G_CALLBACK (dialog_file_activated_cb), object);
-  priv->dialog_selection_changed_id =
-    g_signal_connect (priv->dialog, "selection-changed",
-		      G_CALLBACK (dialog_selection_changed_cb), object);
   g_signal_connect (priv->dialog, "update-preview",
 		    G_CALLBACK (dialog_update_preview_cb), object);
   g_signal_connect (priv->dialog, "notify",
@@ -2497,8 +2491,6 @@
 			      priv->dialog_folder_changed_id);
       g_signal_handler_block (priv->dialog,
 			      priv->dialog_file_activated_id);
-      g_signal_handler_block (priv->dialog,
-			      priv->dialog_selection_changed_id);
       paths = _gtk_file_chooser_get_paths (GTK_FILE_CHOOSER (priv->dialog));
       if (paths)
 	{
@@ -2600,15 +2592,6 @@
 }
 
 static void
-dialog_selection_changed_cb (GtkFileChooser *dialog,
-			     gpointer        user_data)
-{
-  update_label_and_image (user_data);
-  update_combo_box (user_data);
-  g_signal_emit_by_name (user_data, "selection-changed");
-}
-
-static void
 dialog_update_preview_cb (GtkFileChooser *dialog,
 			  gpointer        user_data)
 {
@@ -2684,6 +2667,9 @@
     {
       g_signal_emit_by_name (user_data, "current-folder-changed");
       g_signal_emit_by_name (user_data, "selection-changed");
+
+      update_label_and_image (user_data);
+      update_combo_box (user_data);
     }
   else if (priv->old_path)
     {
@@ -2711,17 +2697,12 @@
       priv->old_path = NULL;
     }
 
-  update_label_and_image (user_data);
-  update_combo_box (user_data);
-  
   if (priv->active)
     {
       g_signal_handler_unblock (priv->dialog,
 				priv->dialog_folder_changed_id);
       g_signal_handler_unblock (priv->dialog,
 				priv->dialog_file_activated_id);
-      g_signal_handler_unblock (priv->dialog,
-				priv->dialog_selection_changed_id);
       priv->active = FALSE;
     }
 
