diff --git a/core/misc/active-link.es6.js b/core/misc/active-link.es6.js
index 425e4f1c98..09f7a94d1a 100644
--- a/core/misc/active-link.es6.js
+++ b/core/misc/active-link.es6.js
@@ -22,7 +22,12 @@
     attach(context) {
       // Start by finding all potentially active links.
       const path = drupalSettings.path;
-      const queryString = JSON.stringify(path.currentQuery);
+      let queryString = JSON.stringify(path.currentQuery);
+
+      if (queryString) {
+        queryString = queryString.replace(/'/g, '\\\'');
+      }
+
       const querySelector = path.currentQuery ? `[data-drupal-link-query='${queryString}']` : ':not([data-drupal-link-query])';
       const originalSelectors = [`[data-drupal-link-system-path="${path.currentPath}"]`];
       let selectors;
diff --git a/core/misc/active-link.js b/core/misc/active-link.js
index 69651211fb..c4c0f616a9 100644
--- a/core/misc/active-link.js
+++ b/core/misc/active-link.js
@@ -10,6 +10,11 @@
     attach: function attach(context) {
       var path = drupalSettings.path;
       var queryString = JSON.stringify(path.currentQuery);
+
+      if (queryString) {
+        queryString = queryString.replace(/'/g, '\\\'');
+      }
+
       var querySelector = path.currentQuery ? '[data-drupal-link-query=\'' + queryString + '\']' : ':not([data-drupal-link-query])';
       var originalSelectors = ['[data-drupal-link-system-path="' + path.currentPath + '"]'];
       var selectors = void 0;
