Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 561)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 562)
@@ -103,6 +103,6 @@
 
 		public ShowHideMarkerText(Layer layer) {
-			super(tr("Show/Hide Text"), ImageProvider.get("dialogs", "showhide"));
-			putValue(SHORT_DESCRIPTION, tr("Toggle visible state of the marker text."));
+			super(tr("Show/Hide Text/Icons"), ImageProvider.get("dialogs", "showhide"));
+			putValue(SHORT_DESCRIPTION, tr("Toggle visible state of the marker text and icons."));
 			putValue("help", "Dialog/LayerList/ShowHideMarkerText");
 			this.layer = layer;
Index: /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/ButtonMarker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/ButtonMarker.java	(revision 561)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/ButtonMarker.java	(revision 562)
@@ -25,5 +25,4 @@
 
 	private Rectangle buttonRectangle;
-	protected Graphics graphicsContext = null;
 	
 	public ButtonMarker(LatLon ll, String buttonImage, MarkerLayer parentLayer, double time, double offset) {
@@ -44,5 +43,8 @@
 	
 	@Override public void paint(Graphics g, MapView mv, boolean mousePressed, String show) {
-		graphicsContext = g;
+		if (! show.equalsIgnoreCase("show")) {
+			super.paint(g, mv, mousePressed, show);
+			return;
+		}
 		Point screen = mv.getPoint(eastNorth);
 		buttonRectangle.setLocation(screen.x+4, screen.y+2);
Index: /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 561)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 562)
@@ -169,5 +169,5 @@
 	public void paint(Graphics g, MapView mv, boolean mousePressed, String show) {
 		Point screen = mv.getPoint(eastNorth);
-		if (symbol != null) {
+		if (symbol != null && show.equalsIgnoreCase("show")) {
 			symbol.paintIcon(mv, g, screen.x-symbol.getIconWidth()/2, screen.y-symbol.getIconHeight()/2);
 		} else {
