Index: routing/src/com/innovant/josm/plugin/routing/actions/RemoveRouteNodeAction.java
===================================================================
--- routing/src/com/innovant/josm/plugin/routing/actions/RemoveRouteNodeAction.java	(revision 27286)
+++ routing/src/com/innovant/josm/plugin/routing/actions/RemoveRouteNodeAction.java	(working copy)
@@ -38,6 +38,7 @@
 import org.openstreetmap.josm.data.osm.Node;
 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;
 import com.innovant.josm.plugin.routing.RoutingModel;
@@ -121,4 +122,8 @@
         }
     }
 
+    @Override public boolean layerIsSupported(Layer l) {
+        return l instanceof RoutingLayer;
+    }
+
 }
Index: routing/src/com/innovant/josm/plugin/routing/actions/MoveRouteNodeAction.java
===================================================================
--- routing/src/com/innovant/josm/plugin/routing/actions/MoveRouteNodeAction.java	(revision 27286)
+++ routing/src/com/innovant/josm/plugin/routing/actions/MoveRouteNodeAction.java	(working copy)
@@ -40,6 +40,8 @@
 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;
 import com.innovant.josm.plugin.routing.RoutingModel;
 import com.innovant.josm.plugin.routing.RoutingPlugin;
@@ -153,4 +155,8 @@
             Main.map.repaint();
         }
     }
+    @Override public boolean layerIsSupported(Layer l) {
+        return l instanceof RoutingLayer;
+    }
+
 }
Index: routing/src/com/innovant/josm/plugin/routing/actions/AddRouteNodeAction.java
===================================================================
--- routing/src/com/innovant/josm/plugin/routing/actions/AddRouteNodeAction.java	(revision 27286)
+++ routing/src/com/innovant/josm/plugin/routing/actions/AddRouteNodeAction.java	(working copy)
@@ -38,6 +38,8 @@
 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;
 import com.innovant.josm.plugin.routing.RoutingPlugin;
 import com.innovant.josm.plugin.routing.gui.RoutingDialog;
@@ -104,5 +106,7 @@
         }
         Main.map.repaint();
     }
-
+    @Override public boolean layerIsSupported(Layer l) {
+        return l instanceof RoutingLayer;
+    }
 }
Index: routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java
===================================================================
--- routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java	(revision 27286)
+++ routing/src/com/innovant/josm/plugin/routing/RoutingPlugin.java	(working copy)
@@ -194,16 +194,19 @@
             addRouteNodeButton = new IconToggleButton(addRouteNodeAction);
             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);
+//          newFrame.toolGroup.add(addRouteNodeButton);
+//          newFrame.toolGroup.add(removeRouteNodeButton);
+//          newFrame.toolGroup.add(moveRouteNodeButton);
             // Hide them by default
-            addRouteNodeButton.setVisible(false);
+/*            addRouteNodeButton.setVisible(false);
             removeRouteNodeButton.setVisible(false);
-            moveRouteNodeButton.setVisible(false);
+            moveRouteNodeButton.setVisible(false);*/
             // Enable menu
             menu.enableStartItem();
             newFrame.addToggleDialog(routingDialog);
@@ -215,18 +218,18 @@
      * @see org.openstreetmap.josm.gui.layer.Layer.LayerChangeListener#activeLayerChange(org.openstreetmap.josm.gui.layer.Layer, org.openstreetmap.josm.gui.layer.Layer)
      */
     public void activeLayerChange(Layer oldLayer, Layer newLayer) {
-                if (addRouteNodeButton==null) return;
+//                if (addRouteNodeButton==null) return;
     	   	if (newLayer instanceof RoutingLayer) {			/*   show Routing toolbar and dialog window  */
-    	   		addRouteNodeButton.setVisible(true);
+    	   	/*	addRouteNodeButton.setVisible(true);
     		    removeRouteNodeButton.setVisible(true);
-    		    moveRouteNodeButton.setVisible(true);
+    		    moveRouteNodeButton.setVisible(true);*/
     		    menu.enableRestOfItems();    		
     		    routingDialog.showDialog();
     		    routingDialog.refresh();
     	   	}else{											/*   hide Routing toolbar and dialog window  */
-    	   		addRouteNodeButton.setVisible(false);
+    	   	/*	addRouteNodeButton.setVisible(false);
     		    removeRouteNodeButton.setVisible(false);
-    		    moveRouteNodeButton.setVisible(false);
+    		    moveRouteNodeButton.setVisible(false);*/
     		    menu.disableRestOfItems();
     		    routingDialog.hideDialog();
     	   	}
@@ -239,9 +242,9 @@
     public void layerAdded(Layer newLayer) {
         // Add button(s) to the tool bar when the routing layer is added
         if (newLayer instanceof RoutingLayer) {
-            addRouteNodeButton.setVisible(true);
+  /*          addRouteNodeButton.setVisible(true);
             removeRouteNodeButton.setVisible(true);
-            moveRouteNodeButton.setVisible(true);
+            moveRouteNodeButton.setVisible(true);*/
             menu.enableRestOfItems();
             // Set layer on top and select layer, also refresh toggleDialog to reflect selection
             Main.map.mapView.moveLayer(newLayer, 0);
