Index: /trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 10473)
+++ /trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 10474)
@@ -319,4 +319,31 @@
 
     /**
+     * A layer painter that issues a warning when being called.
+     * @author Michael Zangl
+     * @since 10474
+     */
+    private static class WarningLayerPainter implements LayerPainter {
+        boolean warningPrinted = false;
+        private Layer layer;
+
+        public WarningLayerPainter(Layer layer) {
+            this.layer = layer;
+        }
+
+        @Override
+        public void paint(MapViewGraphics graphics) {
+            if (!warningPrinted) {
+                Main.debug("A layer triggered a repaint while being added: " + layer);
+                warningPrinted = true;
+            }
+        }
+
+        @Override
+        public void detachFromMapView(MapViewEvent event) {
+            // ignored
+        }
+    }
+
+    /**
      * Removes a layer change listener
      * <p>
@@ -603,4 +630,6 @@
         try {
             Layer layer = e.getAddedLayer();
+            registeredLayers.put(layer, new WarningLayerPainter(layer));
+            // Layers may trigger a redraw during this call if they open dialogs.
             registeredLayers.put(layer, layer.attachToMapView(new MapViewEvent(this, false)));
 
