diff --git a/data/ui/evolution-mail-reader.ui b/data/ui/evolution-mail-reader.ui
index 1174fc4219..c051d745b0 100644
--- a/data/ui/evolution-mail-reader.ui
+++ b/data/ui/evolution-mail-reader.ui
@@ -89,6 +89,14 @@
+
+
diff --git a/src/modules/mail/e-mail-shell-view-actions.c b/src/modules/mail/e-mail-shell-view-actions.c
index 259e3536bb..8924a84aeb 100644
--- a/src/modules/mail/e-mail-shell-view-actions.c
+++ b/src/modules/mail/e-mail-shell-view-actions.c
@@ -2493,9 +2493,8 @@ e_mail_shell_view_update_popup_labels (EMailShellView *mail_shell_view)
GtkActionGroup *action_group;
GtkTreeIter iter;
GPtrArray *uids;
- const gchar *path;
+ const gchar *main_menu_path, *popup_menu_path;
gboolean valid;
- guint merge_id;
gint ii = 0;
g_return_if_fail (E_IS_MAIL_SHELL_VIEW (mail_shell_view));
@@ -2514,11 +2513,12 @@ e_mail_shell_view_update_popup_labels (EMailShellView *mail_shell_view)
E_MAIL_UI_SESSION (session));
action_group = ACTION_GROUP (MAIL_LABEL);
- merge_id = mail_shell_view->priv->label_merge_id;
- path = "/mail-message-popup/mail-label-menu/mail-label-actions";
+ main_menu_path = "/main-menu/custom-menus/mail-message-menu/mail-mark-as-menu/mail-label-menu/mail-label-actions";
+ popup_menu_path = "/mail-message-popup/mail-label-menu/mail-label-actions";
/* Unmerge the previous menu items. */
- gtk_ui_manager_remove_ui (ui_manager, merge_id);
+ gtk_ui_manager_remove_ui (ui_manager, mail_shell_view->priv->main_menu_label_merge_id);
+ gtk_ui_manager_remove_ui (ui_manager, mail_shell_view->priv->popup_menu_label_merge_id);
e_action_group_remove_all_actions (action_group);
gtk_ui_manager_ensure_update (ui_manager);
@@ -2580,8 +2580,12 @@ e_mail_shell_view_update_popup_labels (EMailShellView *mail_shell_view)
g_object_unref (label_action);
gtk_ui_manager_add_ui (
- ui_manager, merge_id, path, action_name,
- action_name, GTK_UI_MANAGER_AUTO, FALSE);
+ ui_manager, mail_shell_view->priv->main_menu_label_merge_id, main_menu_path,
+ action_name, action_name, GTK_UI_MANAGER_AUTO, FALSE);
+
+ gtk_ui_manager_add_ui (
+ ui_manager, mail_shell_view->priv->popup_menu_label_merge_id, popup_menu_path,
+ action_name, action_name, GTK_UI_MANAGER_AUTO, FALSE);
g_free (label);
g_free (stock_id);
diff --git a/src/modules/mail/e-mail-shell-view-private.c b/src/modules/mail/e-mail-shell-view-private.c
index 46b8ab3c19..03e3bb977d 100644
--- a/src/modules/mail/e-mail-shell-view-private.c
+++ b/src/modules/mail/e-mail-shell-view-private.c
@@ -535,7 +535,6 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
EMailView *mail_view;
EMailDisplay *display;
const gchar *source;
- guint merge_id;
gint ii = 0;
shell_view = E_SHELL_VIEW (mail_shell_view);
@@ -563,8 +562,8 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
shell_window, "set-focus",
G_CALLBACK (e_mail_shell_view_update_labels_sensitivity), shell_view);
- merge_id = gtk_ui_manager_new_merge_id (ui_manager);
- priv->label_merge_id = merge_id;
+ priv->main_menu_label_merge_id = gtk_ui_manager_new_merge_id (ui_manager);
+ priv->popup_menu_label_merge_id = gtk_ui_manager_new_merge_id (ui_manager);
/* Cache these to avoid lots of awkward casting. */
priv->mail_shell_backend = g_object_ref (shell_backend);
diff --git a/src/modules/mail/e-mail-shell-view-private.h b/src/modules/mail/e-mail-shell-view-private.h
index f373e249bc..2c60f0c3f8 100644
--- a/src/modules/mail/e-mail-shell-view-private.h
+++ b/src/modules/mail/e-mail-shell-view-private.h
@@ -120,7 +120,8 @@ struct _EMailShellViewPrivate {
/* For UI merging and unmerging. */
guint merge_id;
- guint label_merge_id;
+ guint main_menu_label_merge_id;
+ guint popup_menu_label_merge_id;
/* Filter rules correspond to the search entry menu. */
EFilterRule *search_rules[MAIL_NUM_SEARCH_RULES];