diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index d5e43e8415479483d223071f17e7966bd3699659..c5250ad8cb2dd28877307283cbdf44355d4bd2fd 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -1437,11 +1437,15 @@ function get_grid_coords(cid, svg_elem) {
     return { x: dx, y: dy };
 }
 
-function create_svg_lock() {
+function create_svg_lock(cid) {
+    var zoom = patchwin[cid].zoomLevel,
+        size;
+    // adjust for zoom level
+    size = 1 / Math.pow(1.2, zoom) * 24;
     return "url('data:image/svg+xml;utf8," +
         encodeURIComponent(['<svg xmlns="http://www.w3.org/2000/svg"',
-                 'width="24px"',
-                 'height="24px"',
+                 ['width="', size, 'px"'].join(""),
+                 ['height="', size, 'px"'].join(""),
                  'viewBox="0 0 486.866 486.866"',
             '>',
               '<path fill="#bbb" d="',
@@ -1514,6 +1518,7 @@ function set_bg(cid, data_url, bg_pos, repeat) {
 
 function set_editmode_bg(cid, svg_elem, state)
 {
+    var offset, zoom;
     if (!state) {
         set_bg(cid, "none", "0% 0%", "repeat");
     } else if (showgrid[cid]) {
@@ -1521,7 +1526,13 @@ function set_editmode_bg(cid, svg_elem, state)
         set_bg(cid, create_editmode_bg(cid, svg_elem), "0% 0%", "repeat");
     } else {
         // Otherwise show a little lock in the top right corner of the patch
-        set_bg(cid, create_svg_lock(), "right 5px top 5px", "no-repeat");
+        // adjusting for zoom level
+        zoom = patchwin[cid].zoomLevel;
+        offset = 1 / Math.pow(1.2, zoom) * 5;
+        offset = offset + "px";
+        set_bg(cid, create_svg_lock(cid),
+            ["right", offset, "top", offset].join(" "),
+            "no-repeat");
     }
 }
 
@@ -1571,12 +1582,12 @@ function update_grid(grid, grid_size_value) {
     for (var cid in patchwin) {
         showgrid[cid] = grid !== 0;
         gridsize[cid] = grid_size_value;
-	gui(cid).get_elem("patchsvg", function(patchsvg, w) {
+        gui(cid).get_elem("patchsvg", function(patchsvg, w) {
             var editmode = patchsvg.classList.contains("editmode");
             if (editmode) {
                 set_editmode_bg(cid, patchsvg, true);
             }
-	});
+        });
     }
 }