Index: /trunk/src/org/openstreetmap/josm/data/imagery/OffsetBookmark.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/OffsetBookmark.java	(revision 3774)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/OffsetBookmark.java	(revision 3775)
@@ -12,4 +12,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.gui.layer.ImageryLayer;
@@ -22,4 +23,5 @@
     public String name;
     public double dx, dy;
+    public double centerX, centerY;
 
     public boolean isUsable(ImageryLayer layer) {
@@ -27,5 +29,10 @@
         layer.getInfo().getName().equals(layerName);
     }
+
     public OffsetBookmark(Projection proj, String layerName, String name, double dx, double dy) {
+        this(proj, layerName, name, dx, dy, 0, 0);
+    }
+
+    public OffsetBookmark(Projection proj, String layerName, String name, double dx, double dy, double centerX, double centerY) {
         this.proj = proj;
         this.layerName = layerName;
@@ -33,4 +40,6 @@
         this.dx = dx;
         this.dy = dy;
+        this.centerX = centerX;
+        this.centerY = centerY;
     }
 
@@ -50,4 +59,8 @@
         this.dx = Double.valueOf(array.get(3));
         this.dy = Double.valueOf(array.get(4));
+        if (array.size() >= 7) {
+            this.centerX = Double.valueOf(array.get(5));
+            this.centerY = Double.valueOf(array.get(6));
+        }
     }
 
@@ -59,4 +72,8 @@
         res.add(String.valueOf(dx));
         res.add(String.valueOf(dy));
+        if (this.centerX != 0 || this.centerY != 0) {
+            res.add(String.valueOf(centerX));
+            res.add(String.valueOf(centerY));
+        }
         return res;
     }
@@ -86,7 +103,13 @@
 
     public static void bookmarkOffset(String name, ImageryLayer layer) {
+        LatLon center;
+        if (Main.map != null && Main.map.mapView != null) {
+            center = Main.proj.eastNorth2latlon(Main.map.mapView.getCenter());
+        } else {
+            center = new LatLon(0,0);
+        }
         OffsetBookmark nb = new OffsetBookmark(
                 Main.proj, layer.getInfo().getName(),
-                name, layer.getDx(), layer.getDy());
+                name, layer.getDx(), layer.getDy(), center.lon(), center.lat());
         for (ListIterator<OffsetBookmark> it = allBookmarks.listIterator();it.hasNext();) {
             OffsetBookmark b = it.next();
