Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/DefaultMapController.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/DefaultMapController.java	(revision 30403)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/DefaultMapController.java	(revision 30406)
@@ -44,5 +44,8 @@
             return;
         // Is only the selected mouse button pressed?
-        if ((e.getModifiersEx() & MOUSE_BUTTONS_MASK) == movementMouseButtonMask) {
+        if ((e.getModifiersEx() & MOUSE_BUTTONS_MASK) == movementMouseButtonMask || isPlatformOsx() && e.getModifiersEx() == MAC_MOUSE_BUTTON3_MASK) {
+            if (JMapViewer.debug) {
+                System.err.println("(#9897)  moving");
+            }
             Point p = e.getPoint();
             if (lastDragPoint != null) {
@@ -64,5 +67,9 @@
     public void mousePressed(MouseEvent e) {
         debugMouseEvent("DefaultMapController.mousePressed", e);
+	
         if (e.getButton() == movementMouseButton || isPlatformOsx() && e.getModifiersEx() == MAC_MOUSE_BUTTON3_MASK) {
+            if (JMapViewer.debug) {
+                System.err.println("(#9897)  move start");
+            }
             lastDragPoint = null;
             isMoving = true;
@@ -73,4 +80,7 @@
         debugMouseEvent("DefaultMapController.mouseReleased", e);
         if (e.getButton() == movementMouseButton || isPlatformOsx() && e.getButton() == MouseEvent.BUTTON1) {
+            if (JMapViewer.debug) {
+                System.err.println("(#9897)  move stop");
+            }
             lastDragPoint = null;
             isMoving = false;
