diff --git a/src/plugins/gui/gtk_helper.ml b/src/plugins/gui/gtk_helper.ml
index 19933af261f426613ab0fcb58338376d5262894b..66d03ad71356a761044236c43c3bb6af0c98718c 100644
--- a/src/plugins/gui/gtk_helper.ml
+++ b/src/plugins/gui/gtk_helper.ml
@@ -1021,11 +1021,10 @@ let graph_window_through_dot ~parent ~title dot_formatter =
 let image_menu_item ~(image:GObj.widget) ~text ~packing =
   let mi = GMenu.menu_item () in
   let box =
-    GPack.hbox ~spacing:2 ~border_width:0 ~homogeneous:true ()
+    GPack.hbox ~spacing:2 ~border_width:0 ~packing:mi#add ()
   in
   box#add image;
-  box#add (GMisc.label ~justify:`LEFT ~text ())#coerce;
-  mi#add box#coerce;
+  box#add (GMisc.label ~justify:`LEFT ~xalign:0. ~xpad:0 ~text ())#coerce;
   packing mi;
   mi
 
diff --git a/src/plugins/gui/menu_manager.ml b/src/plugins/gui/menu_manager.ml
index 9879648c7143f2e9e77539c4ac9c139c0411baca..7cf32bfc19a141ae07f614c417976d0f0063a715 100644
--- a/src/plugins/gui/menu_manager.ml
+++ b/src/plugins/gui/menu_manager.ml
@@ -252,7 +252,7 @@ class menu_manager ?packing ~host:(_:Gtk_helper.host) =
               ignore (mi#connect#activate callback);
               MStandard mi
           | Some stock, Unit_callback callback ->
-              let image = (GMisc.image ~stock () :> GObj.widget) in
+              let image = (GMisc.image ~stock ~xalign:0. () :> GObj.widget) in
               let text = label in
               let packing = !!menubar_packing in
               let mi = Gtk_helper.image_menu_item ~image ~text ~packing in