diff --git a/core/misc/drupal.js b/core/misc/drupal.js
index 3435dc09bc868dc7e301265658076fd1ed0ee571..cedef6728ade1c08862a9c2f03cd39174025ef69 100644
--- a/core/misc/drupal.js
+++ b/core/misc/drupal.js
@@ -276,7 +276,8 @@ if (window.jQuery) {
 
     if (keys.length) {
       for (var i = 0; i < fragments.length; i++) {
-        fragments[i] = Drupal.stringReplace(fragments[i], args, keys);
+        // Process each fragment with a copy of remaining keys.
+        fragments[i] = Drupal.stringReplace(fragments[i], args, keys.slice(0));
       }
     }