diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c
index c3e107f..f0ca109 100644
--- a/gtk/gtkmenushell.c
+++ b/gtk/gtkmenushell.c
@@ -491,6 +491,8 @@ gtk_menu_shell_insert (GtkMenuShell *menu_shell,
 
   if (class->insert)
     class->insert (menu_shell, child, position);
+
+  g_signal_emit_by_name (menu_shell, "add", 0, child);
 }
 
 static void
@@ -1045,6 +1047,8 @@ gtk_menu_shell_remove (GtkContainer *container,
    */
   if (was_visible)
     gtk_widget_queue_resize (GTK_WIDGET (container));
+
+  g_signal_emit_by_name (container, "remove", 0, widget);
 }
 
 static void
