Index: /applications/editors/josm/plugins/imagery_offset_db/src/iodb/DeprecateOffsetAction.java
===================================================================
--- /applications/editors/josm/plugins/imagery_offset_db/src/iodb/DeprecateOffsetAction.java	(revision 29380)
+++ /applications/editors/josm/plugins/imagery_offset_db/src/iodb/DeprecateOffsetAction.java	(revision 29381)
@@ -1,5 +1,4 @@
 package iodb;
 
-import iodb.QuerySuccessListener;
 import java.awt.event.ActionEvent;
 import java.io.UnsupportedEncodingException;
Index: /applications/editors/josm/plugins/imagery_offset_db/src/iodb/GetImageryOffsetAction.java
===================================================================
--- /applications/editors/josm/plugins/imagery_offset_db/src/iodb/GetImageryOffsetAction.java	(revision 29380)
+++ /applications/editors/josm/plugins/imagery_offset_db/src/iodb/GetImageryOffsetAction.java	(revision 29381)
@@ -10,4 +10,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.coor.CoordinateFormat;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.projection.Projection;
@@ -73,5 +74,6 @@
             super(null, tr("Loading imagery offsets..."));
             try {
-                String query = "get?lat=" + center.lat() + "&lon=" + center.lon()
+                String query = "get?lat=" + center.latToString(CoordinateFormat.DECIMAL_DEGREES)
+                        + "&lon=" + center.lonToString(CoordinateFormat.DECIMAL_DEGREES)
                         + "&imagery=" + URLEncoder.encode(imagery, "UTF8");
                 int radius = Main.pref.getInteger("iodb.radius", -1);
Index: /applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetInfoAction.java
===================================================================
--- /applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetInfoAction.java	(revision 29380)
+++ /applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetInfoAction.java	(revision 29381)
@@ -6,5 +6,4 @@
 import javax.swing.JOptionPane;
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.coor.LatLon;
 import static org.openstreetmap.josm.tools.I18n.tr;
 import org.openstreetmap.josm.tools.ImageProvider;
Index: /applications/editors/josm/plugins/imagery_offset_db/src/iodb/QuerySuccessListener.java
===================================================================
--- /applications/editors/josm/plugins/imagery_offset_db/src/iodb/QuerySuccessListener.java	(revision 29380)
+++ /applications/editors/josm/plugins/imagery_offset_db/src/iodb/QuerySuccessListener.java	(revision 29381)
@@ -6,5 +6,5 @@
  * @author zverik
  */
-interface QuerySuccessListener {
+public interface QuerySuccessListener {
 
     /**
Index: /applications/editors/josm/plugins/imagery_offset_db/src/iodb/StoreImageryOffsetAction.java
===================================================================
--- /applications/editors/josm/plugins/imagery_offset_db/src/iodb/StoreImageryOffsetAction.java	(revision 29380)
+++ /applications/editors/josm/plugins/imagery_offset_db/src/iodb/StoreImageryOffsetAction.java	(revision 29381)
@@ -28,5 +28,5 @@
 
     public void actionPerformed(ActionEvent e) {
-        if( Main.map == null || Main.map.mapView == null || getCurrentDataSet() == null )
+        if( Main.map == null || Main.map.mapView == null )
             return;
 
@@ -43,17 +43,19 @@
         // check if an object suitable for calibration is selected
         OsmPrimitive calibration = null;
-        Collection<OsmPrimitive> selectedObjects = getCurrentDataSet().getSelected();
-        if( selectedObjects.size() == 1 ) {
-            OsmPrimitive selection = selectedObjects.iterator().next();
-            if( (selection instanceof Node || selection instanceof Way) && !selection.isIncomplete() && !selection.isReferredByWays(1) ) {
-                String[] options = new String[] {tr("Store calibration geometry"), tr("Store imagery offset")};
-                int result = JOptionPane.showOptionDialog(Main.parent,
-                        tr("The selected object can be used as a calibration geometry. What do you intend to do?"),
-                        ImageryOffsetTools.DIALOG_TITLE, JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,
-                        null, options, options[0]);
-                if( result == 2 || result == JOptionPane.CLOSED_OPTION )
-                    return;
-                if( result == 0 )
-                    calibration = selection;
+        if( getCurrentDataSet() != null ) {
+            Collection<OsmPrimitive> selectedObjects = getCurrentDataSet().getSelected();
+            if( selectedObjects.size() == 1 ) {
+                OsmPrimitive selection = selectedObjects.iterator().next();
+                if( (selection instanceof Node || selection instanceof Way) && !selection.isIncomplete() && !selection.isReferredByWays(1) ) {
+                    String[] options = new String[] {tr("Store calibration geometry"), tr("Store imagery offset")};
+                    int result = JOptionPane.showOptionDialog(Main.parent,
+                            tr("The selected object can be used as a calibration geometry. What do you intend to do?"),
+                            ImageryOffsetTools.DIALOG_TITLE, JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,
+                            null, options, options[0]);
+                    if( result == 2 || result == JOptionPane.CLOSED_OPTION )
+                        return;
+                    if( result == 0 )
+                        calibration = selection;
+                }
             }
         }
@@ -132,6 +134,4 @@
         if( ImageryOffsetTools.getTopImageryLayer() == null )
             state = false;
-        if( getCurrentDataSet() == null )
-            state = false;
         setEnabled(state);
     }
