Index: trunk/src/org/openstreetmap/josm/actions/ToggleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ToggleAction.java	(revision 6336)
+++ trunk/src/org/openstreetmap/josm/actions/ToggleAction.java	(revision 6338)
@@ -14,4 +14,5 @@
 import javax.swing.JToggleButton;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -41,4 +42,6 @@
     public ToggleAction(String name, Icon icon, String tooltip, Shortcut shortcut, boolean registerInToolbar, String toolbarId, boolean installAdapters) {
         super(name, icon, tooltip, shortcut, registerInToolbar, toolbarId, installAdapters);
+        // It is required to set the SELECTED_KEY to a non-null value in order to let Swing components update it
+        setSelected(false);
     }
 
@@ -58,4 +61,6 @@
     public ToggleAction(String name, String iconName, String tooltip, Shortcut shortcut, boolean registerInToolbar) {
         super(name, iconName, tooltip, shortcut, registerInToolbar);
+        // It is required to set the SELECTED_KEY to a non-null value in order to let Swing components update it
+        setSelected(false);
     }
 
@@ -73,4 +78,5 @@
             return (Boolean) selected;
         } else {
+            Main.warn(getClass().getName()+" does not define a boolean for SELECTED_KEY but "+selected+". You should report it to JOSM developers.");
             return false;
         }
