Index: applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingLayer.java
===================================================================
--- applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingLayer.java	(revision 29525)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingLayer.java	(revision 29586)
@@ -275,11 +275,13 @@
         	if(routingModel != null) {
         		if(routingModel.routingGraph != null && routingModel.routingGraph.getGraph() != null) {
-        	    	Color color2 = ColorHelper.html2color("#00ff00");		/* just green for now  */
         	        Set<OsmEdge> graphEdges =  routingModel.routingGraph.getGraph().edgeSet();
-        	        OsmEdge firstedge = (OsmEdge) graphEdges.toArray()[0];
-        	        Point from = mv.getPoint(firstedge.fromEastNorth());
-        	        g.drawRect(from.x-4, from.y+4, from.x+4, from.y-4);
-        	        for(OsmEdge edge : graphEdges) {
-        	        	drawGraph(g, mv, edge, color2, width);
+        	        if (!graphEdges.isEmpty()) {
+            	    	Color color2 = ColorHelper.html2color("#00ff00");		/* just green for now  */
+	        	        OsmEdge firstedge = (OsmEdge) graphEdges.toArray()[0];
+	        	        Point from = mv.getPoint(firstedge.fromEastNorth());
+	        	        g.drawRect(from.x-4, from.y+4, from.x+4, from.y-4);
+	        	        for(OsmEdge edge : graphEdges) {
+	        	        	drawGraph(g, mv, edge, color2, width);
+	        	        }
         	        }
         	     }
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 29525)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java	(revision 29586)
@@ -175,7 +175,9 @@
 	public void addLayer() {
 		OsmDataLayer osmLayer = Main.map.mapView.getEditLayer();
-		RoutingLayer layer = new RoutingLayer(tr("Routing") + " [" + osmLayer.getName() + "]", osmLayer);
-		layers.add(layer);
-		Main.main.addLayer(layer);
+		if (osmLayer != null) {
+			RoutingLayer layer = new RoutingLayer(tr("Routing") + " [" + osmLayer.getName() + "]", osmLayer);
+			layers.add(layer);
+			Main.main.addLayer(layer);
+		}
 	}
 
Index: applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/AddRouteNodeAction.java
===================================================================
--- applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/AddRouteNodeAction.java	(revision 29525)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/AddRouteNodeAction.java	(revision 29586)
@@ -37,11 +37,9 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.ImageProvider;
-
-import org.openstreetmap.josm.gui.layer.Layer;
 
 import com.innovant.josm.plugin.routing.RoutingLayer;
 import com.innovant.josm.plugin.routing.RoutingPlugin;
-import com.innovant.josm.plugin.routing.gui.RoutingDialog;
 
 /**
@@ -53,16 +51,9 @@
  */
 public class AddRouteNodeAction extends MapMode {
-    /**
-     * Serial.
-     */
-    private static final long serialVersionUID = 1L;
+
     /**
      * Logger.
      */
     static Logger logger = Logger.getLogger(AddRouteNodeAction.class);
-    /**
-     * Routing Dialog.
-     */
-    private RoutingDialog routingDialog;
 
     /**
@@ -75,5 +66,4 @@
                 tr("Click to add destination."),
                 mapFrame, ImageProvider.getCursor("crosshair", null));
-        this.routingDialog = RoutingPlugin.getInstance().getRoutingDialog();
     }
 
@@ -102,5 +92,5 @@
                 logger.debug("selected node " + node);
                 layer.getRoutingModel().addNode(node);
-                routingDialog.addNode(node);
+                RoutingPlugin.getInstance().getRoutingDialog().addNode(node);
             }
         }
Index: applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/MoveRouteNodeAction.java
===================================================================
--- applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/MoveRouteNodeAction.java	(revision 29525)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/MoveRouteNodeAction.java	(revision 29586)
@@ -56,8 +56,4 @@
  */
 public class MoveRouteNodeAction extends MapMode {
-    /**
-     * Serial.
-     */
-    private static final long serialVersionUID = 1L;
 
     /**
@@ -70,9 +66,4 @@
      */
     static Logger logger = Logger.getLogger(RoutingLayer.class);
-
-    /**
-     * Routing Dialog.
-     */
-    private RoutingDialog routingDialog;
 
     /**
@@ -90,5 +81,4 @@
                 tr("Click and drag to move destination"),
                 mapFrame, ImageProvider.getCursor("normal", "move"));
-        this.routingDialog = RoutingPlugin.getInstance().getRoutingDialog();
     }
 
@@ -141,4 +131,5 @@
             RoutingLayer layer = (RoutingLayer)Main.map.mapView.getActiveLayer();
             RoutingModel routingModel = layer.getRoutingModel();
+            RoutingDialog routingDialog = RoutingPlugin.getInstance().getRoutingDialog();
             // Search for nearest highway node
             Node node = null;
Index: applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/RemoveRouteNodeAction.java
===================================================================
--- applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/RemoveRouteNodeAction.java	(revision 29525)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/RemoveRouteNodeAction.java	(revision 29586)
@@ -38,11 +38,10 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.ImageProvider;
-import org.openstreetmap.josm.gui.layer.Layer;
 
 import com.innovant.josm.plugin.routing.RoutingLayer;
 import com.innovant.josm.plugin.routing.RoutingModel;
 import com.innovant.josm.plugin.routing.RoutingPlugin;
-import com.innovant.josm.plugin.routing.gui.RoutingDialog;
 
 /**
@@ -54,8 +53,4 @@
  */
 public class RemoveRouteNodeAction extends MapMode {
-    /**
-     * Serial.
-     */
-    private static final long serialVersionUID = 1L;
 
     /**
@@ -68,8 +63,4 @@
      */
     static Logger logger = Logger.getLogger(RoutingLayer.class);
-    /**
-     * Routing Dialog.
-     */
-    private RoutingDialog routingDialog;
 
     public RemoveRouteNodeAction(MapFrame mapFrame) {
@@ -78,5 +69,4 @@
                 tr("Click to remove destination"),
                 mapFrame, ImageProvider.getCursor("normal", "delete"));
-        this.routingDialog = RoutingPlugin.getInstance().getRoutingDialog();
     }
 
@@ -114,5 +104,5 @@
                     logger.debug("Removing node " + nl.get(index));
                     routingModel.removeNode(index);
-                    routingDialog.removeNode(index);
+                    RoutingPlugin.getInstance().getRoutingDialog().removeNode(index);
                     Main.map.repaint();
                 } else {
