Index: /trunk/src/org/openstreetmap/josm/gui/MapFrame.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 3665)
+++ /trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 3666)
@@ -459,4 +459,6 @@
             mapMode.enterMode();
         }
+        // invalidate repaint cache
+        Main.map.mapView.preferenceChanged(null);
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 3665)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 3666)
@@ -21,4 +21,5 @@
 
 import javax.swing.AbstractAction;
+import javax.swing.Action;
 import javax.swing.DefaultCellEditor;
 import javax.swing.DefaultListSelectionModel;
@@ -36,4 +37,5 @@
 import javax.swing.ListSelectionModel;
 import javax.swing.UIManager;
+import javax.swing.event.ListDataEvent;
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
@@ -204,5 +206,4 @@
                     @Override
                     public void makeVisible(int row, Layer layer) {
-                        System.err.println(Thread.currentThread());
                         layerList.scrollToVisible(row, 0);
                         layerList.repaint();
@@ -376,4 +377,5 @@
         public ShowHideLayerAction(Layer layer) throws IllegalArgumentException {
             this();
+            putValue(NAME, tr("Show/Hide"));
             CheckParameterUtil.ensureParameterNotNull(layer, "layer");
             this.layer = layer;
@@ -1232,5 +1234,7 @@
      */
     public ShowHideLayerAction createShowHideLayerAction() {
-        return new ShowHideLayerAction();
+        ShowHideLayerAction act = new ShowHideLayerAction();
+        act.putValue(Action.NAME, tr("Show/Hide"));
+        return act;
     }
 
