Index: trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 1264)
+++ trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 1265)
@@ -236,4 +236,12 @@
     }
 
+
+    public int getLayerPos(Layer layer) {
+        int curLayerPos = layers.indexOf(layer);
+        if (curLayerPos == -1)
+            throw new IllegalArgumentException(tr("layer not in list."));
+        return curLayerPos;
+    }
+
     /**
      * Draw the component.
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 1264)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 1265)
@@ -297,5 +297,6 @@
      */
     public void layerAdded(Layer newLayer) {
-        model.add(model.size(), newLayer);
+        int pos = Main.map.mapView.getLayerPos(newLayer);
+        model.add(pos, newLayer);
         updateButtonEnabled();
     }
