diff --git a/pd/nw/pd_canvas.js b/pd/nw/pd_canvas.js
index b9fce9e694c11152260ebdcfefec285b933b5f05..41316d60f1dd1f7c92c307d11a090e36f5372e48 100644
--- a/pd/nw/pd_canvas.js
+++ b/pd/nw/pd_canvas.js
@@ -125,7 +125,8 @@ var canvas_events = (function() {
                 // For some reason right-click sends a modifier value of "8",
                 // and canvas_doclick in g_editor.c depends on that value to
                 // do the right thing.  So let's hack...
-                if (b === 3) { // right-click
+                if (b === 3 || (process.platform === "darwin" && evt.ctrl)) {
+                    // right-click
                     mod = 8;
                 } else {
                     mod = (evt.shiftKey + (cmd_or_ctrl_key(evt) << 1));