Index: applications/editors/josm/plugins/photoadjust/src/org/openstreetmap/josm/plugins/photoadjust/PhotoAdjustPlugin.java
===================================================================
--- applications/editors/josm/plugins/photoadjust/src/org/openstreetmap/josm/plugins/photoadjust/PhotoAdjustPlugin.java	(revision 31921)
+++ applications/editors/josm/plugins/photoadjust/src/org/openstreetmap/josm/plugins/photoadjust/PhotoAdjustPlugin.java	(revision 31922)
@@ -36,4 +36,5 @@
 	super(info);
         GeoImageLayer.registerMenuAddition(new UntaggedGeoImageLayerAction());
+        //new PhotoPropertyEditor();
         worker = new PhotoAdjustWorker();
         initAdapters();
@@ -51,4 +52,11 @@
                     layers.add(imageLayer);
                     worker.doMousePressed(evt, layers);
+                }
+            }
+
+            @Override
+            public void mouseReleased(MouseEvent evt) {
+                if (imageLayer != null) {
+                    worker.doMouseReleased(evt);
                 }
             }
Index: applications/editors/josm/plugins/photoadjust/src/org/openstreetmap/josm/plugins/photoadjust/PhotoAdjustWorker.java
===================================================================
--- applications/editors/josm/plugins/photoadjust/src/org/openstreetmap/josm/plugins/photoadjust/PhotoAdjustWorker.java	(revision 31921)
+++ applications/editors/josm/plugins/photoadjust/src/org/openstreetmap/josm/plugins/photoadjust/PhotoAdjustWorker.java	(revision 31922)
@@ -23,4 +23,6 @@
     // the photo is moved very far.
     private Point2D dragOffset = null;
+    private boolean centerViewIsDisabled = false;
+    private boolean centerViewNeedsEnable = false;
 
     /**
@@ -31,4 +33,31 @@
         dragLayer = null;
         dragOffset = null;
+    }
+
+    /**
+     * Disable the "center view" button.  The map is moved instead of the
+     * photo if the center view is enabled while a photo is moved.  The method
+     * disables the center view to avoid such behavior.  Call
+     * restoreCenterView() to restore the original state.
+     */
+    public void disableCenterView() {
+        if (!centerViewIsDisabled) {
+            centerViewIsDisabled = true;
+            centerViewNeedsEnable = ImageViewerDialog.setCentreEnabled(false);
+        }
+    }
+
+    /**
+     * Restore the center view state that was active before
+     * disableCenterView() was called.
+     */
+    public void restoreCenterView() {
+        if (centerViewIsDisabled) {
+            if (centerViewNeedsEnable) {
+                centerViewNeedsEnable = false;
+                ImageViewerDialog.setCentreEnabled(true);
+            }
+            centerViewIsDisabled = false;
+        }
     }
 
@@ -94,4 +123,5 @@
                             dragLayer = layer;
                             setDragOffset(dragPhoto, evt);
+                            disableCenterView();
                             break;
                         }
@@ -100,4 +130,13 @@
             }
         }
+    }
+
+    /**
+     * Mouse release handler.
+     *
+     * @param evt Mouse event from MouseAdapter mouseReleased().
+     */
+    public void doMouseReleased(MouseEvent evt) {
+        restoreCenterView();
     }
 
@@ -114,4 +153,5 @@
             }
             else {
+                disableCenterView();
                 movePhoto(dragPhoto, dragLayer, evt);
             }
