diff --git a/misc/drupal.js b/misc/drupal.js
index 04dd70c6634951c5e480ba24aa4936f75b54f81f..50498d87397a4dbaceeb979ec5061cecb62e9e28 100644
--- a/misc/drupal.js
+++ b/misc/drupal.js
@@ -51,7 +51,8 @@ Drupal.checkPlain = function(str) {
   str = String(str);
   var replace = { '&': '&amp;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
   for (var character in replace) {
-    str = str.replace(character, replace[character]);
+    var regex = new RegExp(character, 'g');
+    str = str.replace(regex, replace[character]);
   }
   return str;
 };