Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 12643)
@@ -145,5 +145,7 @@
     /**
      * The main menu bar at top of screen.
-     */
+     * @deprecated Use {@link MainApplication#getMenu} instead
+     */
+    @Deprecated
     public MainMenu menu;
 
Index: trunk/src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 12643)
@@ -24,4 +24,5 @@
 import org.openstreetmap.josm.data.Version;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
@@ -116,5 +117,5 @@
             .showDialog().getValue();
         if (2 == ret) {
-            Main.main.menu.reportbug.actionPerformed(null);
+            MainApplication.getMenu().reportbug.actionPerformed(null);
         }
     }
Index: trunk/src/org/openstreetmap/josm/actions/DialogsToggleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DialogsToggleAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/actions/DialogsToggleAction.java	(revision 12643)
@@ -58,5 +58,5 @@
             map.setDialogsPanelVisible(selected);
             map.statusLine.setVisible(selected || Main.pref.getBoolean("statusbar.always-visible", true));
-            Main.main.menu.setVisible(selected || Main.pref.getBoolean("menu.always-visible", true));
+            MainApplication.getMenu().setVisible(selected || Main.pref.getBoolean("menu.always-visible", true));
             // Toolbars listen to preference changes, use it here
             if (!Main.pref.getBoolean("toolbar.always-visible", true) && (!selected || toolbarPreviouslyVisible)) {
Index: trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java	(revision 12643)
@@ -338,5 +338,5 @@
                 }
             }
-            Main.main.menu.imageryMenu.refreshOffsetMenu();
+            MainApplication.getMenu().imageryMenu.refreshOffsetMenu();
         }
 
Index: trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 12643)
@@ -320,5 +320,5 @@
                             if (m.matches()) {
                                 String url = m.group(1);
-                                Main.main.menu.openLocation.openUrl(false, url);
+                                MainApplication.getMenu().openLocation.openUrl(false, url);
                             }
                         }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12643)
@@ -186,12 +186,12 @@
 
     private JCheckBoxMenuItem addMenuItem() {
-        int n = Main.main.menu.editMenu.getItemCount();
+        int n = MainApplication.getMenu().editMenu.getItemCount();
         for (int i = n-1; i > 0; i--) {
-            JMenuItem item = Main.main.menu.editMenu.getItem(i);
+            JMenuItem item = MainApplication.getMenu().editMenu.getItem(i);
             if (item != null && item.getAction() != null && item.getAction() instanceof SnapChangeAction) {
-                Main.main.menu.editMenu.remove(i);
-            }
-        }
-        return MainMenu.addWithCheckbox(Main.main.menu.editMenu, snapChangeAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
+                MainApplication.getMenu().editMenu.remove(i);
+            }
+        }
+        return MainMenu.addWithCheckbox(MainApplication.getMenu().editMenu, snapChangeAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 12643)
@@ -242,12 +242,12 @@
 
     private JCheckBoxMenuItem addDualAlignMenuItem() {
-        int n = Main.main.menu.editMenu.getItemCount();
+        int n = MainApplication.getMenu().editMenu.getItemCount();
         for (int i = n-1; i > 0; i--) {
-            JMenuItem item = Main.main.menu.editMenu.getItem(i);
+            JMenuItem item = MainApplication.getMenu().editMenu.getItem(i);
             if (item != null && item.getAction() != null && item.getAction() instanceof DualAlignChangeAction) {
-                Main.main.menu.editMenu.remove(i);
-            }
-        }
-        return MainMenu.addWithCheckbox(Main.main.menu.editMenu, dualAlignChangeAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
+                MainApplication.getMenu().editMenu.remove(i);
+            }
+        }
+        return MainMenu.addWithCheckbox(MainApplication.getMenu().editMenu, dualAlignChangeAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 12643)
@@ -456,5 +456,5 @@
         if (addOnToolbar.isSelected()) {
             ToolbarPreferences.ActionDefinition aDef =
-                    new ToolbarPreferences.ActionDefinition(Main.main.menu.search);
+                    new ToolbarPreferences.ActionDefinition(MainApplication.getMenu().search);
             aDef.getParameters().put(SEARCH_EXPRESSION, initialValues);
             // Display search expression as tooltip instead of generic one
Index: trunk/src/org/openstreetmap/josm/gui/ImageryMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/ImageryMenu.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/ImageryMenu.java	(revision 12643)
@@ -25,5 +25,4 @@
 import javax.swing.event.MenuListener;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.AddImageryLayerAction;
 import org.openstreetmap.josm.actions.JosmAction;
@@ -196,5 +195,5 @@
 
         addDynamicSeparator();
-        JMenu subMenu = Main.main.menu.imagerySubMenu;
+        JMenu subMenu = MainApplication.getMenu().imagerySubMenu;
         int heightUnrolled = 30*(getItemCount()+subMenu.getItemCount());
         if (heightUnrolled < MainApplication.getMainPanel().getHeight()) {
Index: trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 12643)
@@ -136,4 +136,9 @@
 
     /**
+     * The main menu bar at top of screen.
+     */
+    static MainMenu menu;
+
+    /**
      * The main panel, required to be static for {@link MapFrameListener} handling.
      */
@@ -278,4 +283,5 @@
             mainFrame.initialize();
             menu = mainFrame.getMenu();
+            super.menu = menu;
         } else {
             // required for running some tests.
@@ -283,4 +289,5 @@
             panel = mainPanel;
             menu = new MainMenu();
+            super.menu = menu;
         }
         mainPanel.addMapFrameListener((o, n) -> redoUndoListener.commandChanged(0, 0));
@@ -377,4 +384,13 @@
     public static MainPanel getMainPanel() {
         return mainPanel;
+    }
+
+    /**
+     * Returns the main menu, at top of screen.
+     * @return the main menu
+     * @since 12643 (as a replacement to {@code MainApplication.getMenu()})
+     */
+    public static MainMenu getMenu() {
+        return menu;
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/MapStatus.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 12643)
@@ -150,5 +150,5 @@
         public void mouseClicked(MouseEvent e) {
             if (e.getButton() != MouseEvent.BUTTON3) {
-                Main.main.menu.jumpToAct.showJumpToDialog();
+                MainApplication.getMenu().jumpToAct.showJumpToDialog();
             }
         }
@@ -759,5 +759,5 @@
     private class MapStatusPopupMenu extends JPopupMenu {
 
-        private final JMenuItem jumpButton = add(Main.main.menu.jumpToAct);
+        private final JMenuItem jumpButton = add(MainApplication.getMenu().jumpToAct);
 
         /** Icons for selecting {@link SystemOfMeasurement} */
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 12643)
@@ -141,5 +141,5 @@
         createLayout(lstConflicts, true, Arrays.asList(btnResolve, btnSelect));
 
-        popupMenuHandler.addAction(Main.main.menu.autoScaleActions.get("conflict"));
+        popupMenuHandler.addAction(MainApplication.getMenu().autoScaleActions.get("conflict"));
 
         ResolveToMyVersionAction resolveToMyVersionAction = new ResolveToMyVersionAction();
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java	(revision 12643)
@@ -134,5 +134,5 @@
             }
         });
-        cbWireframe.addActionListener(e -> Main.main.menu.wireFrameToggleAction.actionPerformed(null));
+        cbWireframe.addActionListener(e -> MainApplication.getMenu().wireFrameToggleAction.actionPerformed(null));
         cbWireframe.setBorder(new EmptyBorder(new Insets(1, 1, 1, 1)));
 
@@ -180,10 +180,10 @@
     public void showNotify() {
         MapPaintStyles.addMapPaintSylesUpdateListener(model);
-        Main.main.menu.wireFrameToggleAction.addButtonModel(cbWireframe.getModel());
+        MainApplication.getMenu().wireFrameToggleAction.addButtonModel(cbWireframe.getModel());
     }
 
     @Override
     public void hideNotify() {
-        Main.main.menu.wireFrameToggleAction.removeButtonModel(cbWireframe.getModel());
+        MainApplication.getMenu().wireFrameToggleAction.removeButtonModel(cbWireframe.getModel());
         MapPaintStyles.removeMapPaintSylesUpdateListener(model);
     }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/MenuItemSearchDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/MenuItemSearchDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/MenuItemSearchDialog.java	(revision 12643)
@@ -17,4 +17,5 @@
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.gui.widgets.SearchTextResultListPanel;
@@ -27,5 +28,5 @@
 
     private final Selector selector;
-    private static final MenuItemSearchDialog INSTANCE = new MenuItemSearchDialog(Main.main.menu);
+    private static final MenuItemSearchDialog INSTANCE = new MenuItemSearchDialog(MainApplication.getMenu());
 
     private MenuItemSearchDialog(MainMenu menu) {
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 12643)
@@ -198,5 +198,5 @@
         updateButtonStates();
         // TODO make a proper listener mechanism to handle change of note selection
-        Main.main.menu.infoweb.noteSelectionChanged();
+        MainApplication.getMenu().infoweb.noteSelectionChanged();
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 12643)
@@ -182,5 +182,5 @@
 
         // Do not hide copy action because of default JList override (fix #9815)
-        displaylist.getActionMap().put("copy", Main.main.menu.copy);
+        displaylist.getActionMap().put("copy", MainApplication.getMenu().copy);
         displaylist.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_C, GuiHelper.getMenuShortcutKeyMaskEx()), "copy");
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java	(revision 12643)
@@ -268,5 +268,5 @@
     protected void registerInWindowMenu() {
         if (Main.main != null) {
-            windowMenuItem = MainMenu.addWithCheckbox(Main.main.menu.windowMenu,
+            windowMenuItem = MainMenu.addWithCheckbox(MainApplication.getMenu().windowMenu,
                     (JosmAction) getToggleAction(),
                     MainMenu.WINDOW_MENU_GROUP.TOGGLE_DIALOG);
@@ -465,5 +465,5 @@
         }
         if (Main.main != null) {
-            Main.main.menu.windowMenu.remove(windowMenuItem);
+            MainApplication.getMenu().windowMenu.remove(windowMenuItem);
         }
         Toolkit.getDefaultToolkit().removeAWTEventListener(this);
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java	(revision 12643)
@@ -101,5 +101,5 @@
                         KeyEvent.VK_V, Shortcut.ALT_SHIFT), 150, false, ValidatorPreference.class);
 
-        popupMenuHandler.addAction(Main.main.menu.autoScaleActions.get("problem"));
+        popupMenuHandler.addAction(MainApplication.getMenu().autoScaleActions.get("problem"));
         popupMenuHandler.addAction(new EditRelationAction());
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/layer/MergeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/layer/MergeAction.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/layer/MergeAction.java	(revision 12643)
@@ -11,5 +11,6 @@
 import javax.swing.JMenuItem;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.MergeLayerAction;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.IEnabledStateUpdating;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog.LayerListModel;
@@ -69,14 +70,15 @@
     @Override
     public void actionPerformed(ActionEvent e) {
+        MergeLayerAction mergeLayerAction = MainApplication.getMenu().merge;
         if (layer != null) {
-            Main.main.menu.merge.merge(layer);
+            mergeLayerAction.merge(layer);
         } else if (layers != null) {
-            Main.main.menu.merge.merge(layers);
+            mergeLayerAction.merge(layers);
         } else {
             if (model.getSelectedLayers().size() == 1) {
                 Layer selectedLayer = model.getSelectedLayers().get(0);
-                Main.main.menu.merge.merge(selectedLayer);
+                mergeLayerAction.merge(selectedLayer);
             } else {
-                Main.main.menu.merge.merge(model.getSelectedLayers());
+                mergeLayerAction.merge(model.getSelectedLayers());
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 12643)
@@ -59,4 +59,5 @@
 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.gui.ScrollViewport;
@@ -768,5 +769,5 @@
             memberTable.unregisterListeners();
             if (windowMenuItem != null) {
-                Main.main.menu.windowMenu.remove(windowMenuItem);
+                MainApplication.getMenu().windowMenu.remove(windowMenuItem);
                 windowMenuItem = null;
             }
@@ -798,5 +799,5 @@
         };
         focusAction.putValue("relationEditor", re);
-        return MainMenu.add(Main.main.menu.windowMenu, focusAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
+        return MainMenu.add(MainApplication.getMenu().windowMenu, focusAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 12643)
@@ -456,5 +456,5 @@
     public static void autostartIfNeeded() {
         if (isAutorunEnabled()) {
-            Main.main.menu.download.actionPerformed(null);
+            MainApplication.getMenu().download.actionPerformed(null);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 12643)
@@ -45,4 +45,5 @@
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.gui.HelpAwareOptionPane;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
@@ -216,11 +217,12 @@
             new WindowGeometry(this).remember(getClass().getName() + ".geometry");
         }
-        if (Main.main != null && Main.main.menu != null && Main.main.menu.windowMenu != null) {
+        MainMenu menu = MainApplication.getMenu();
+        if (menu != null && menu.windowMenu != null) {
             if (windowMenuItem != null && !visible) {
-                Main.main.menu.windowMenu.remove(windowMenuItem);
+                menu.windowMenu.remove(windowMenuItem);
                 windowMenuItem = null;
             }
             if (windowMenuItem == null && visible) {
-                windowMenuItem = MainMenu.add(Main.main.menu.windowMenu, FOCUS_ACTION, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
+                windowMenuItem = MainMenu.add(menu.windowMenu, FOCUS_ACTION, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/help/HelpUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/help/HelpUtil.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/help/HelpUtil.java	(revision 12643)
@@ -13,4 +13,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.HelpAction;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.LanguageInfo;
 import org.openstreetmap.josm.tools.LanguageInfo.LocaleType;
@@ -187,12 +188,11 @@
 
     /**
-     * Replies the global help action, if available. Otherwise, creates an instance
-     * of {@link HelpAction}.
+     * Replies the global help action, if available. Otherwise, creates an instance of {@link HelpAction}.
      *
      * @return instance of help action
      */
     private static Action getHelpAction() {
-        if (Main.main != null && Main.main.menu != null) {
-            return Main.main.menu.help;
+        if (MainApplication.getMenu() != null) {
+            return MainApplication.getMenu().help;
         }
         return HelpAction.createWithoutShortcut();
@@ -202,7 +202,6 @@
      * Makes a component aware of context sensitive help.
      *
-     * A relative help topic doesn't start with /Help and doesn't include a locale
-     * code. Example: /Dialog/RelationEditor is a relative help topic, /De:Help/Dialog/RelationEditor
-     * is not.
+     * A relative help topic doesn't start with /Help and doesn't include a locale code.
+     * Example: /Dialog/RelationEditor is a relative help topic, /De:Help/Dialog/RelationEditor is not.
      *
      * @param component the component
Index: trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 12643)
@@ -208,5 +208,5 @@
         public void actionPerformed(ActionEvent ev) {
             setOffset(b);
-            Main.main.menu.imageryMenu.refreshOffsetMenu();
+            MainApplication.getMenu().imageryMenu.refreshOffsetMenu();
             MainApplication.getMap().repaint();
         }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java	(revision 12643)
@@ -127,5 +127,5 @@
                         null /* no special help */
                         )) {
-                    Main.main.menu.restart.actionPerformed(null);
+                    MainApplication.getMenu().restart.actionPerformed(null);
                 }
             } else if (task != null && !task.isCanceled()) {
Index: trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 12643)
@@ -1054,5 +1054,5 @@
     private void loadActions() {
         rootActionsNode.removeAllChildren();
-        loadAction(rootActionsNode, Main.main.menu);
+        loadAction(rootActionsNode, MainApplication.getMenu());
         for (Map.Entry<String, Action> a : regactions.entrySet()) {
             if (actions.get(a.getKey()) == null) {
Index: trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java	(revision 12643)
@@ -164,5 +164,5 @@
         ImageryLayerInfo.instance.clear();
         ImageryLayerInfo.instance.load(false);
-        Main.main.menu.imageryMenu.refreshOffsetMenu();
+        MainApplication.getMenu().imageryMenu.refreshOffsetMenu();
         OffsetBookmark.saveBookmarks();
 
@@ -958,6 +958,6 @@
         ImageryLayerInfo.instance.load(false);
         OffsetBookmark.loadBookmarks();
-        Main.main.menu.imageryMenu.refreshImageryMenu();
-        Main.main.menu.imageryMenu.refreshOffsetMenu();
+        MainApplication.getMenu().imageryMenu.refreshImageryMenu();
+        MainApplication.getMenu().imageryMenu.refreshOffsetMenu();
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetMenu.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetMenu.java	(revision 12643)
@@ -22,4 +22,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.AlphanumComparator;
 
@@ -30,7 +31,7 @@
         @Override
         public int compare(JMenuItem o1, JMenuItem o2) {
-            if (Main.main.menu.presetSearchAction.equals(o1.getAction()))
+            if (MainApplication.getMenu().presetSearchAction.equals(o1.getAction()))
                 return -1;
-            else if (Main.main.menu.presetSearchAction.equals(o2.getAction()))
+            else if (MainApplication.getMenu().presetSearchAction.equals(o2.getAction()))
                 return 1;
             else
Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresets.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresets.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresets.java	(revision 12643)
@@ -67,9 +67,9 @@
         }
         if (taggingPresets.isEmpty()) {
-            Main.main.menu.presetsMenu.setVisible(false);
+            MainApplication.getMenu().presetsMenu.setVisible(false);
         } else {
             Map<TaggingPresetMenu, JMenu> submenus = new HashMap<>();
             for (final TaggingPreset p : taggingPresets) {
-                JMenu m = p.group != null ? submenus.get(p.group) : Main.main.menu.presetsMenu;
+                JMenu m = p.group != null ? submenus.get(p.group) : MainApplication.getMenu().presetsMenu;
                 if (m == null && p.group != null) {
                     Logging.error("No tagging preset submenu for " + p.group);
@@ -97,5 +97,5 @@
         }
         if (Main.pref.getBoolean("taggingpreset.sortmenu")) {
-            TaggingPresetMenu.sortMenu(Main.main.menu.presetsMenu);
+            TaggingPresetMenu.sortMenu(MainApplication.getMenu().presetsMenu);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/widgets/DisableShortcutsOnFocusGainedTextField.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/DisableShortcutsOnFocusGainedTextField.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/DisableShortcutsOnFocusGainedTextField.java	(revision 12643)
@@ -15,5 +15,4 @@
 import javax.swing.text.Document;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.gui.MainApplication;
@@ -115,6 +114,6 @@
     protected void disableMenuActions() {
         disabledMenuActions.clear();
-        for (int i = 0; i < Main.main.menu.getMenuCount(); i++) {
-            JMenu menu = Main.main.menu.getMenu(i);
+        for (int i = 0; i < MainApplication.getMenu().getMenuCount(); i++) {
+            JMenu menu = MainApplication.getMenu().getMenu(i);
             if (menu != null) {
                 for (int j = 0; j < menu.getItemCount(); j++) {
Index: trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java	(revision 12643)
@@ -13,4 +13,5 @@
 import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
 import org.openstreetmap.josm.actions.downloadtasks.DownloadTask;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.io.remotecontrol.PermissionPrefWithDefault;
 import org.openstreetmap.josm.tools.Logging;
@@ -41,5 +42,5 @@
             } else if (Main.pref.getBoolean("remotecontrol.import.interactive", true)) {
                 // OpenLocationAction queries the user if more than one task is suitable
-                Main.main.menu.openLocation.openUrl(isLoadInNewLayer(), url.toExternalForm());
+                MainApplication.getMenu().openLocation.openUrl(isLoadInNewLayer(), url.toExternalForm());
             } else {
                 // Otherwise perform all tasks
@@ -110,5 +111,5 @@
         }
         // Find download tasks for the given URL
-        suitableDownloadTasks = Main.main.menu.openLocation.findDownloadTasks(urlString, true);
+        suitableDownloadTasks = MainApplication.getMenu().openLocation.findDownloadTasks(urlString, true);
     }
 }
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 12642)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 12643)
@@ -185,8 +185,8 @@
             break;
         case "handleAbout":
-            Main.main.menu.about.actionPerformed(null);
+            MainApplication.getMenu().about.actionPerformed(null);
             break;
         case "handlePreferences":
-            Main.main.menu.preferences.actionPerformed(null);
+            MainApplication.getMenu().preferences.actionPerformed(null);
             break;
         default:
