Index: /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 11656)
+++ /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 11657)
@@ -30,4 +30,5 @@
 import org.openstreetmap.josm.gui.layer.AlignImageryPanel;
 import org.openstreetmap.josm.gui.layer.ImageryLayer;
+import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
 import org.openstreetmap.josm.gui.preferences.imagery.WMSLayerTree;
 import org.openstreetmap.josm.gui.util.GuiHelper;
@@ -65,5 +66,5 @@
     public AddImageryLayerAction(ImageryInfo info) {
         super(info.getMenuName(), /* ICON */"imagery_menu", tr("Add imagery layer {0}", info.getName()), null,
-                true, "imagery_" + info.getToolbarName(), false);
+                true, ToolbarPreferences.IMAGERY_PREFIX + info.getToolbarName(), false);
         putValue("help", ht("/Preferences/Imagery"));
         setTooltip(info.getToolTipText().replaceAll("</?html>", ""));
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 11656)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 11657)
@@ -62,7 +62,10 @@
 import org.openstreetmap.josm.actions.ActionParameter;
 import org.openstreetmap.josm.actions.AdaptableAction;
+import org.openstreetmap.josm.actions.AddImageryLayerAction;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.actions.ParameterizedAction;
 import org.openstreetmap.josm.actions.ParameterizedActionDecorator;
+import org.openstreetmap.josm.data.imagery.ImageryInfo;
+import org.openstreetmap.josm.data.imagery.ImageryLayerInfo;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
 import org.openstreetmap.josm.tools.GBC;
@@ -77,4 +80,10 @@
 
     private static final String EMPTY_TOOLBAR_MARKER = "<!-empty-!>";
+
+    /**
+     * The prefix for imagery toolbar entries.
+     * @since 11657
+     */
+    public static final String IMAGERY_PREFIX = "imagery_";
 
     /**
@@ -253,4 +262,9 @@
         }
 
+        /**
+         * Loads the action definition from its toolbar name.
+         * @param actionName action toolbar name
+         * @return action definition or null
+         */
         public ActionDefinition loadAction(String actionName) {
             index = 0;
@@ -259,4 +273,14 @@
             String name = readTillChar('(', '{');
             Action action = actions.get(name);
+
+            if (action == null && name.startsWith(IMAGERY_PREFIX)) {
+                String imageryName = name.substring(IMAGERY_PREFIX.length());
+                for (ImageryInfo i : ImageryLayerInfo.instance.getDefaultLayers()) {
+                    if (imageryName.equalsIgnoreCase(i.getName())) {
+                        action = new AddImageryLayerAction(i);
+                        break;
+                    }
+                }
+            }
 
             if (action == null)
@@ -1007,5 +1031,5 @@
                         String toolbar = (String) tb;
                         Action r = actions.get(toolbar);
-                        if (r != null && r != action && !toolbar.startsWith("imagery_")) {
+                        if (r != null && r != action && !toolbar.startsWith(IMAGERY_PREFIX)) {
                             Main.info(tr("Toolbar action {0} overwritten: {1} gets {2}",
                             toolbar, r.getClass().getName(), action.getClass().getName()));
