diff --git a/pd/nw/pd_canvas.js b/pd/nw/pd_canvas.js
index 445d82557f8f49f2f15e5cd3cc16d629fbbff2f6..74a93d90c4da13ea0555ea9ef3d55538d6e90e7f 100644
--- a/pd/nw/pd_canvas.js
+++ b/pd/nw/pd_canvas.js
@@ -35,6 +35,7 @@ function close_save_dialog() {
 function text_to_fudi(text) {
     text = text.trim();
     text = text.replace(/(\$[0-9]+)/g, "\\$1");    // escape dollar signs
+    text = text.replace(/(\$@)/g, "\\$@");         // escape special $@ sign
     text = text.replace(/(?!\\)(,|;)/g, " \\$1 "); // escape "," and ";"
     text = text.replace(/\{|\}/g, "");             // filter "{" and "}"
     text = text.replace(/\s+/g, " ");              // filter consecutive /s