Index: trunk/src/org/openstreetmap/josm/gui/NotificationManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/NotificationManager.java	(revision 7010)
+++ trunk/src/org/openstreetmap/josm/gui/NotificationManager.java	(revision 7011)
@@ -47,5 +47,5 @@
  *
  * If multiple messages are sent in a short period of time, they are put in
- * a queue and displayed on after the other.
+ * a queue and displayed one after the other.
  *
  * The user can stop the timer (freeze the message) by moving the mouse cursor
@@ -56,5 +56,5 @@
 
     private Timer hideTimer; // started when message is shown, responsible for hiding the message
-    private Timer pauseTimer; // makes sure the is a small pause between to consecutive messages
+    private Timer pauseTimer; // makes sure, there is a small pause between two consecutive messages
     private Timer unfreezeDelayTimer; // tiny delay before resuming the timer when mouse cursor
                                       // is moved off the panel
Index: trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapControler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapControler.java	(revision 7010)
+++ trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapControler.java	(revision 7011)
@@ -19,4 +19,5 @@
 import javax.swing.JPanel;
 import javax.swing.KeyStroke;
+import org.openstreetmap.josm.Main;
 
 /**
@@ -44,4 +45,6 @@
     /** The speed increase per timer interval when a cursor button is clicked */
     private static final double ACCELERATION = 0.10;
+    
+    private static final int MAC_MOUSE_BUTTON3_MASK = MouseEvent.CTRL_DOWN_MASK | MouseEvent.BUTTON1_DOWN_MASK;
 
     // start and end point of selection rectangle
@@ -118,5 +121,5 @@
     @Override
     public void mousePressed(MouseEvent e) {
-        if (e.getButton() == MouseEvent.BUTTON1) {
+        if (e.getButton() == MouseEvent.BUTTON1 && !(Main.isPlatformOsx() && e.getModifiersEx() == MAC_MOUSE_BUTTON3_MASK)) {
             iStartSelectionPoint = e.getPoint();
             iEndSelectionPoint = e.getPoint();
@@ -126,5 +129,6 @@
     @Override
     public void mouseDragged(MouseEvent e) {
-        if ((e.getModifiersEx() & MouseEvent.BUTTON1_DOWN_MASK) == MouseEvent.BUTTON1_DOWN_MASK) {
+        if ((e.getModifiersEx() & MouseEvent.BUTTON1_DOWN_MASK) == MouseEvent.BUTTON1_DOWN_MASK &&
+                !(Main.isPlatformOsx() && e.getModifiersEx() == MAC_MOUSE_BUTTON3_MASK)) {
             if (iStartSelectionPoint != null) {
                 iEndSelectionPoint = e.getPoint();
