Index: /trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 11844)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 11845)
@@ -71,4 +71,5 @@
 import org.openstreetmap.gui.jmapviewer.interfaces.CachedTileLoader;
 import org.openstreetmap.gui.jmapviewer.interfaces.ICoordinate;
+import org.openstreetmap.gui.jmapviewer.interfaces.IProjected;
 import org.openstreetmap.gui.jmapviewer.interfaces.TemplatedTileSource;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileCache;
@@ -1400,8 +1401,8 @@
      */
     protected TileSet getTileSet(ProjectionBounds bounds, int zoom) {
-        EastNorth topLeftUnshifted = coordinateConverter.shiftDisplayToServer(bounds.getMin());
-        EastNorth botRightUnshifted = coordinateConverter.shiftDisplayToServer(bounds.getMax());
-        TileXY t1 = tileSource.projectedToTileXY(topLeftUnshifted.toProjected(), zoom);
-        TileXY t2 = tileSource.projectedToTileXY(botRightUnshifted.toProjected(), zoom);
+        IProjected topLeftUnshifted = coordinateConverter.shiftDisplayToServer(bounds.getMin());
+        IProjected botRightUnshifted = coordinateConverter.shiftDisplayToServer(bounds.getMax());
+        TileXY t1 = tileSource.projectedToTileXY(topLeftUnshifted, zoom);
+        TileXY t2 = tileSource.projectedToTileXY(botRightUnshifted, zoom);
         return new TileSet(t1, t2, zoom);
     }
Index: /trunk/src/org/openstreetmap/josm/gui/layer/imagery/TileCoordinateConverter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/imagery/TileCoordinateConverter.java	(revision 11844)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/imagery/TileCoordinateConverter.java	(revision 11845)
@@ -54,8 +54,8 @@
      *
      * @param en EastNorth coordinate representing a pixel on screen
-     * @return EastNorth coordinate as it would e.g. be sent to a WMS server
+     * @return IProjected coordinate as it would e.g. be sent to a WMS server
      */
-    public EastNorth shiftDisplayToServer(EastNorth en) {
-        return en.subtract(settings.getDisplacement());
+    public IProjected shiftDisplayToServer(EastNorth en) {
+        return en.subtract(settings.getDisplacement()).toProjected();
     }
 
