Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetWatcher.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetWatcher.java	(revision 29401)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetWatcher.java	(revision 29402)
@@ -86,5 +86,5 @@
      * Check if the offset state has been changed.
      */
-    private void checkOffset() {
+    private synchronized void checkOffset() {
         if( maxDistance <= 0 ) {
             setOffsetGood(true);
@@ -123,4 +123,26 @@
             }
         }
+    }
+
+    public void markGood() {
+        ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
+        if( layer != null ) {
+            LatLon center = ImageryOffsetTools.getMapCenter();
+            Integer hash = layer.hashCode();
+            ImageryLayerData data = layers.get(hash);
+            if( data == null ) {
+                // create entry for this layer and mark as good
+                data = new ImageryLayerData();
+                data.lastDx = layer.getDx();
+                data.lastDy = layer.getDy();
+                data.lastChecked = center;
+                layers.put(hash, data);
+            } else {
+                data.lastDx = layer.getDx();
+                data.lastDy = layer.getDy();
+                data.lastChecked = center;
+            }
+        }
+        setOffsetGood(true);
     }
 
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialog.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialog.java	(revision 29401)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialog.java	(revision 29402)
@@ -243,4 +243,5 @@
             ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
             ImageryOffsetTools.applyLayerOffset(layer, (ImageryOffset)selectedOffset);
+            ImageryOffsetWatcher.getInstance().markGood();
             Main.map.repaint();
             if( !Main.pref.getBoolean("iodb.offset.message", false) ) {
