Index: trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 18898)
+++ trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 18899)
@@ -383,17 +383,19 @@
         remainingLayers.remove(except);
 
-        // First look for visible data layer
-        for (Layer layer : remainingLayers) {
-            if (layer instanceof OsmDataLayer && layer.isVisible()) {
-                return layer;
-            }
-        }
-
-        // Then any data layer
+        // First look for visible data layer (and store first data layer for later)
+        Layer osmlayer = null;
         for (Layer layer : remainingLayers) {
             if (layer instanceof OsmDataLayer) {
-                return layer;
-            }
-        }
+                if (layer.isVisible()) {
+                    return layer;
+                } else if (osmlayer == null) {
+                    osmlayer = layer;
+                }
+            }
+        }
+
+        // Then any data layer
+        if (osmlayer != null)
+            return osmlayer;
 
         // Then any layer
