diff --git a/ChangeLog b/ChangeLog
index 5d8e4deedd98b3904843083d14437c42061866f8..41f858d89d8f563c0e93f1774d8a880146eb1cb1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-11-26	Benedikt Meurer <benny@xfce.org>
+
+	* thunar/thunar-standard-view.c
+	  (thunar_standard_view_merge_custom_actions): Don't sort custom actions
+	  explicitly, but leave it up to the provider plugins to determine the
+	  order of their actions. Also, be sure to update the UI manager after
+	  unmerging the previously set menu actions, else GtkUIManager will
+	  mess up the order of the actions.
+
 2005-11-25	Benedikt Meurer <benny@xfce.org>
 
 	* thunarx/thunarx-provider-factory.c: Make sure, ThunarxProviderModules
diff --git a/thunar/thunar-standard-view.c b/thunar/thunar-standard-view.c
index 77b9c3082db495c876777356f3897cd4be971814..c9431d36afc58d7a765a2773bd0470d877a55288 100644
--- a/thunar/thunar-standard-view.c
+++ b/thunar/thunar-standard-view.c
@@ -1149,15 +1149,6 @@ thunar_standard_view_get_selected_paths (ThunarStandardView *standard_view)
 
 
 
-static gint
-compare_actions (gconstpointer a,
-                 gconstpointer b)
-{
-  return strcmp (gtk_action_get_name (GTK_ACTION (a)), gtk_action_get_name (GTK_ACTION (b)));
-}
-
-
-
 static void
 thunar_standard_view_merge_custom_actions (ThunarStandardView *standard_view,
                                            GList              *selected_items)
@@ -1246,6 +1237,7 @@ thunar_standard_view_merge_custom_actions (ThunarStandardView *standard_view,
   if (G_LIKELY (standard_view->priv->custom_actions != 0))
     {
       gtk_ui_manager_remove_ui (standard_view->ui_manager, standard_view->priv->custom_merge_id);
+      gtk_ui_manager_ensure_update (standard_view->ui_manager);
       standard_view->priv->custom_merge_id = 0;
     }
 
@@ -1265,9 +1257,6 @@ thunar_standard_view_merge_custom_actions (ThunarStandardView *standard_view,
       standard_view->priv->custom_merge_id = gtk_ui_manager_new_merge_id (standard_view->ui_manager);
       gtk_ui_manager_insert_action_group (standard_view->ui_manager, standard_view->priv->custom_actions, -1);
 
-      /* sort the actions by their names */
-      actions = g_list_sort (actions, compare_actions);
-
       /* add the actions to the UI manager */
       for (lp = actions; lp != NULL; lp = lp->next)
         {