Index: applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java
===================================================================
--- applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java	(revision 28568)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java	(revision 28624)
@@ -79,5 +79,5 @@
 	 * The side dialog where nodes are listed
 	 */
-	private final RoutingDialog routingDialog;
+	private RoutingDialog routingDialog;
 
 	/**
@@ -147,6 +147,4 @@
 		logger.debug("Loading routing plugin...");
 		preferenceSettings=new RoutingPreferenceDialog();
-		// Create side dialog
-		routingDialog = new RoutingDialog();
 		// Initialize layers list
 		layers = new ArrayList<RoutingLayer>();
@@ -188,5 +186,5 @@
 	@Override
 	public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
-		if(newFrame != null) {
+		if (newFrame != null) {
 			// Create plugin map modes
 			addRouteNodeAction = new AddRouteNodeAction(newFrame);
@@ -205,5 +203,13 @@
 			// Enable menu
 			menu.enableStartItem();
-			newFrame.addToggleDialog(routingDialog);
+			newFrame.addToggleDialog(routingDialog = new RoutingDialog());
+		} else {
+			addRouteNodeAction = null;
+			removeRouteNodeAction = null;
+			moveRouteNodeAction = null;
+			addRouteNodeButton = null;
+			removeRouteNodeButton = null;
+			moveRouteNodeButton = null;
+			routingDialog = null;
 		}
 	}
@@ -216,9 +222,13 @@
 		if (newLayer instanceof RoutingLayer) {			/*   show Routing toolbar and dialog window  */
 			menu.enableRestOfItems();
-			routingDialog.showDialog();
-			routingDialog.refresh();
+			if (routingDialog != null) {
+				routingDialog.showDialog();
+				routingDialog.refresh();
+			}
 		}else{											/*   hide Routing toolbar and dialog window  */
 			menu.disableRestOfItems();
-			routingDialog.hideDialog();
+			if (routingDialog != null) {
+				routingDialog.hideDialog();
+			}
 		}
 	}
@@ -267,5 +277,7 @@
 		}
 		// Reload RoutingDialog table model
-		routingDialog.refresh();
+		if (routingDialog != null) {
+			routingDialog.refresh();
+		}
 	}
 
