Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAction.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAction.java	(revision 28420)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAction.java	(revision 28624)
@@ -58,5 +58,5 @@
 
                     AlignWaysCmdKeepLength cmdAW;
-                    if (AlignWaysPlugin.awDialog.getAwOpt() == AligningModeOption.ALGN_OPT_KEEP_ANGLE) {
+                    if (AlignWaysPlugin.getAwDialog().getAwOpt() == AligningModeOption.ALGN_OPT_KEEP_ANGLE) {
                         cmdAW = new AlignWaysCmdKeepAngles();
                     } else {
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysDialog.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysDialog.java	(revision 28420)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysDialog.java	(revision 28624)
@@ -163,9 +163,3 @@
 
     }
-
-    public JCheckBoxMenuItem getWindowMenuItem() {
-        return windowMenuItem;
-    }
-
-
 }
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysPlugin.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysPlugin.java	(revision 28420)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysPlugin.java	(revision 28624)
@@ -2,6 +2,4 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-
-import javax.swing.JMenuItem;
 
 import org.openstreetmap.josm.Main;
@@ -20,10 +18,9 @@
 public class AlignWaysPlugin extends Plugin {
 
-    static AlignWaysMode awMode;
-    private final IconToggleButton btn;
-    static JMenuItem alignWaysMenuItem;
-    static JosmAction awAction;
-    static AlignWaysDialog awDialog;
-    static IconToggleButton optBtn;
+    private static AlignWaysMode awMode;
+    private static IconToggleButton btn;
+    private static JosmAction awAction;
+    private static AlignWaysDialog awDialog;
+    private static IconToggleButton optBtn;
 
     // The major version is e.g. used to decide when to trigger What's New windows
@@ -33,32 +30,24 @@
         super(info);
         
-        // Construct the AlignWays mode toggle button
-        awMode = new AlignWaysMode(Main.map, "alignways", tr("Align Ways mode"));
-        btn = new IconToggleButton(awMode);
-        btn.setVisible(true);
-        
         // Add the action entries to the Tools Menu
         Main.main.menu.toolsMenu.addSeparator();
         awAction = new AlignWaysAction();
-        alignWaysMenuItem = MainMenu.add(Main.main.menu.toolsMenu, awAction);
-        
-        awDialog = new AlignWaysDialog(awMode);
-        // Prevent user clicking on the Windows menu entry while panel is meaningless
-        awDialog.getWindowMenuItem().setEnabled(false);
+        MainMenu.add(Main.main.menu.toolsMenu, awAction);
     }
 
     @Override
     public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
-        if(newFrame != null) {
-            optBtn = newFrame.addToggleDialog(AlignWaysPlugin.getAwDialog());
+        if (newFrame != null) {
+            // Construct the AlignWays mode toggle button
+            awMode = new AlignWaysMode(Main.map, "alignways", tr("Align Ways mode"));
+            btn = new IconToggleButton(awMode);
+            btn.setVisible(true);
+            newFrame.addMapMode(btn);
+            optBtn = newFrame.addToggleDialog(awDialog = new AlignWaysDialog(awMode));
         } else {
-            // Disable menu item in Windows menu
-            awDialog.getWindowMenuItem().setEnabled(false);
-        }
-
-        if (Main.map != null) {
-            Main.map.addMapMode(btn);
-            // Re-enable menu item in Windows menu
-            awDialog.getWindowMenuItem().setEnabled(true);
+            awDialog = null;
+            optBtn = null;
+            btn = null;
+            awMode = null;
         }
     }
@@ -91,4 +80,3 @@
         return optBtn;
     }
-
 }
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysTipsPanel.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysTipsPanel.java	(revision 28420)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysTipsPanel.java	(revision 28624)
@@ -101,5 +101,5 @@
         step04.setText(tr("<html>\n<div style=\"font-family:sans-serif\">\n<ul>\n  <li><b>Align the segments.</b> Press <b><i><span style=\"color:green\">{0}"
                 + "</span></i></b>. Alternatively you''ll find the command in the <b>Tools</b>\n menu or may want to place the action on the <b>toolbar</b>.\n  </li>\n</ul>\n</div>\n</html>\n\n",
-                AlignWaysPlugin.awAction.getShortcut().getKeyText()));
+                AlignWaysPlugin.getAwAction().getShortcut().getKeyText()));
         step04.setVerticalAlignment(SwingConstants.TOP);
 
