Index: trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java	(revision 3219)
+++ trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java	(revision 3220)
@@ -21,4 +21,5 @@
 import javax.swing.AbstractAction;
 import javax.swing.Icon;
+import javax.swing.JCheckBoxMenuItem;
 import javax.swing.JColorChooser;
 import javax.swing.JMenuItem;
@@ -282,5 +283,7 @@
         Collection<Component> components = new ArrayList<Component>();
         components.add(new JMenuItem(LayerListDialog.getInstance().createShowHideLayerAction(this)));
-        components.add(new JMenuItem(new ShowHideMarkerText(this)));
+        JCheckBoxMenuItem showMarkerTextItem = new JCheckBoxMenuItem(new ShowHideMarkerText(this));
+        showMarkerTextItem.setState(isTextShown());
+        components.add(showMarkerTextItem);
         components.add(new JMenuItem(LayerListDialog.getInstance().createDeleteLayerAction(this)));
         components.add(new JSeparator());
@@ -449,9 +452,14 @@
     }
 
+    private boolean isTextShown() {
+        String current = Main.pref.get("marker.show "+getName(),"show");
+        return current.equalsIgnoreCase("show");
+    }
+
     public static final class ShowHideMarkerText extends AbstractAction {
-        private final Layer layer;
-
-        public ShowHideMarkerText(Layer layer) {
-            super(tr("Show/Hide Text/Icons"), ImageProvider.get("dialogs", "showhide"));
+        private final MarkerLayer layer;
+
+        public ShowHideMarkerText(MarkerLayer layer) {
+            super(tr("Show Text/Icons"), ImageProvider.get("dialogs", "showhide"));
             putValue(SHORT_DESCRIPTION, tr("Toggle visible state of the marker text and icons."));
             putValue("help", "Action/ShowHideTextIcons");
@@ -459,7 +467,7 @@
         }
 
+
         public void actionPerformed(ActionEvent e) {
-            String current = Main.pref.get("marker.show "+layer.getName(),"show");
-            Main.pref.put("marker.show "+layer.getName(), current.equalsIgnoreCase("show") ? "hide" : "show");
+            Main.pref.put("marker.show "+layer.getName(), layer.isTextShown() ? "hide" : "show");
             Main.map.mapView.repaint();
         }
