diff --git a/src/org/openstreetmap/josm/gui/layer/NoteLayer.java b/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
index 42d0697..cc7cf7f 100644
--- a/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
@@ -17,6 +17,7 @@ import javax.swing.Action;
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
 import javax.swing.JToolTip;
+import javax.swing.SwingUtilities;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.SaveActionBase;
@@ -31,8 +32,10 @@ import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
 import org.openstreetmap.josm.gui.dialogs.NotesDialog;
 import org.openstreetmap.josm.io.NoteExporter;
+import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.io.XmlWriter;
 import org.openstreetmap.josm.tools.ColorHelper;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
  * A layer to hold Note objects
@@ -216,7 +219,12 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
 
     @Override
     public void mouseClicked(MouseEvent e) {
-        if (e.getButton() != MouseEvent.BUTTON1) {
+        if (SwingUtilities.isRightMouseButton(e) && noteData.getSelectedNote() != null) {
+            final String url = OsmApi.getOsmApi().getBaseUrl() + "notes/" + noteData.getSelectedNote().getId();
+            if (SwingUtilities.isRightMouseButton(e)) {
+                Utils.copyToClipboard(url);
+            }
+        } else if (!SwingUtilities.isLeftMouseButton(e)) {
             return;
         }
         Point clickPoint = e.getPoint();
