Index: gtk/gtkmenu.c
===================================================================
--- gtk/gtkmenu.c	(revision 21691)
+++ gtk/gtkmenu.c	(working copy)
@@ -35,6 +35,7 @@
 #include "gtkmarshalers.h"
 #include "gtkmenu.h"
 #include "gtktearoffmenuitem.h"
+#include "gtkcheckmenuitem.h"
 #include "gtkwindow.h"
 #include "gtkhbox.h"
 #include "gtkvscrollbar.h"
@@ -2382,6 +2383,22 @@
        priv->heights[t] = MAX (priv->heights[t], part);
     }
 
+  /* if the menu doesn't include any images or check items
+   * reserve the space so that all menus are consistent */
+  if (max_toggle_size == 0) {
+    GtkWidget *dummy;
+    guint      toggle_spacing;
+    guint      indicator_size;
+
+    dummy = gtk_check_menu_item_new ();
+    gtk_widget_style_get (dummy,
+                          "toggle-spacing", &toggle_spacing,
+                          "indicator-size", &indicator_size,
+                          NULL);
+    gtk_widget_destroy (dummy);
+    max_toggle_size = indicator_size + toggle_spacing;
+  }
+
   for (i = 0; i < gtk_menu_get_n_rows (menu); i++)
     requisition->height += priv->heights[i];
 
