Index: trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 13375)
+++ trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 13386)
@@ -125,4 +125,5 @@
 import org.openstreetmap.josm.tools.MemoryManager.NotEnoughMemoryException;
 import org.openstreetmap.josm.tools.Utils;
+import org.openstreetmap.josm.tools.bugreport.BugReport;
 
 /**
@@ -1440,4 +1441,7 @@
             this.minZoom = minZoom;
             this.maxZoom = maxZoom;
+            if (minZoom > maxZoom) {
+                throw new IllegalArgumentException(minZoom + " > " + maxZoom);
+            }
             this.tileSets = new AbstractTileSourceLayer.TileSet[maxZoom - minZoom + 1];
         }
@@ -1883,5 +1887,10 @@
 
         private void doPaint(MapViewGraphics graphics) {
-            drawInViewArea(graphics.getDefaultGraphics(), graphics.getMapView(), graphics.getClipBounds().getProjectionBounds());
+            try {
+                drawInViewArea(graphics.getDefaultGraphics(), graphics.getMapView(), graphics.getClipBounds().getProjectionBounds());
+            } catch (IllegalArgumentException e) {
+                throw BugReport.intercept(e)
+                               .put("graphics", graphics).put("tileSource", tileSource).put("currentZoomLevel", currentZoomLevel);
+            }
         }
 
