Index: applications/editors/josm/plugins/routing/build.xml
===================================================================
--- applications/editors/josm/plugins/routing/build.xml	(revision 27286)
+++ applications/editors/josm/plugins/routing/build.xml	(revision 27288)
@@ -27,5 +27,5 @@
 <project name="routing" default="dist" basedir=".">
     <property name="commit.message" value="fixed NPE at startup"/>
-    <property name="plugin.main.version" value="4666"/>
+    <property name="plugin.main.version" value="4669"/>
     <!-- Define some properties -->
     <property name="josm" location="../../core/dist/josm-custom.jar"/>
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 27286)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java	(revision 27288)
@@ -195,14 +195,10 @@
             removeRouteNodeButton = new IconToggleButton(removeRouteNodeAction);
             moveRouteNodeButton = new IconToggleButton(moveRouteNodeAction);
+            addRouteNodeButton.setAutoHideDisabledButton(true);
+            removeRouteNodeButton.setAutoHideDisabledButton(true);
+            moveRouteNodeButton.setAutoHideDisabledButton(true);
             newFrame.addMapMode(addRouteNodeButton);
             newFrame.addMapMode(removeRouteNodeButton);
             newFrame.addMapMode(moveRouteNodeButton);
-//            newFrame.toolGroup.add(addRouteNodeButton);
-//            newFrame.toolGroup.add(removeRouteNodeButton);
-//            newFrame.toolGroup.add(moveRouteNodeButton);
-            // Hide them by default
-            addRouteNodeButton.setVisible(false);
-            removeRouteNodeButton.setVisible(false);
-            moveRouteNodeButton.setVisible(false);
             // Enable menu
             menu.enableStartItem();
@@ -216,16 +212,9 @@
      */
     public void activeLayerChange(Layer oldLayer, Layer newLayer) {
-                if (addRouteNodeButton==null) return;
     	   	if (newLayer instanceof RoutingLayer) {			/*   show Routing toolbar and dialog window  */
-    	   		addRouteNodeButton.setVisible(true);
-    		    removeRouteNodeButton.setVisible(true);
-    		    moveRouteNodeButton.setVisible(true);
     		    menu.enableRestOfItems();    		
     		    routingDialog.showDialog();
     		    routingDialog.refresh();
     	   	}else{											/*   hide Routing toolbar and dialog window  */
-    	   		addRouteNodeButton.setVisible(false);
-    		    removeRouteNodeButton.setVisible(false);
-    		    moveRouteNodeButton.setVisible(false);
     		    menu.disableRestOfItems();
     		    routingDialog.hideDialog();
@@ -240,7 +229,4 @@
         // Add button(s) to the tool bar when the routing layer is added
         if (newLayer instanceof RoutingLayer) {
-            addRouteNodeButton.setVisible(true);
-            removeRouteNodeButton.setVisible(true);
-            moveRouteNodeButton.setVisible(true);
             menu.enableRestOfItems();
             // Set layer on top and select layer, also refresh toggleDialog to reflect selection
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 27286)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/AddRouteNodeAction.java	(revision 27288)
@@ -38,4 +38,6 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.tools.ImageProvider;
+
+import org.openstreetmap.josm.gui.layer.Layer;
 
 import com.innovant.josm.plugin.routing.RoutingLayer;
@@ -105,4 +107,6 @@
         Main.map.repaint();
     }
-
+    @Override public boolean layerIsSupported(Layer l) {
+        return l instanceof RoutingLayer;
+    }
 }
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 27286)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/MoveRouteNodeAction.java	(revision 27288)
@@ -40,4 +40,6 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.tools.ImageProvider;
+
+import org.openstreetmap.josm.gui.layer.Layer;
 
 import com.innovant.josm.plugin.routing.RoutingLayer;
@@ -154,3 +156,7 @@
         }
     }
+    @Override public boolean layerIsSupported(Layer l) {
+        return l instanceof RoutingLayer;
+    }
+
 }
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 27286)
+++ applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/actions/RemoveRouteNodeAction.java	(revision 27288)
@@ -39,4 +39,5 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.gui.layer.Layer;
 
 import com.innovant.josm.plugin.routing.RoutingLayer;
@@ -122,3 +123,7 @@
     }
 
+    @Override public boolean layerIsSupported(Layer l) {
+        return l instanceof RoutingLayer;
+    }
+
 }
