diff --git a/core/includes/common.inc b/core/includes/common.inc
index 6800fa5..16c76ed 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -4720,7 +4720,7 @@ function drupal_add_tabledrag($table_id, $action, $relationship, $group, $subgro
 function drupal_build_js_cache($files) {
   $contents = '';
   $uri = '';
-  $map = variable_get('drupal_js_cache_files', array());
+  $map = state()->get('system.drupal_js_cache_files') ?: array();
   // Create a new array so that only the file names are used to create the hash.
   // This prevents new aggregates from being created unnecessarily.
   $js_data = array();
@@ -4765,7 +4765,7 @@ function drupal_build_js_cache($files) {
       }
     }
     $map[$key] = $uri;
-    variable_set('drupal_js_cache_files', $map);
+    state()->set('system.drupal_js_cache_files', $map);
   }
   return $uri;
 }
@@ -4775,7 +4775,7 @@ function drupal_build_js_cache($files) {
  */
 function drupal_clear_js_cache() {
   state()->delete('system.javascript_parsed');
-  variable_del('drupal_js_cache_files');
+  state()->delete('system.drupal_js_cache_files');
   file_scan_directory('public://js', '/.*/', array('callback' => 'drupal_delete_file_if_stale'));
 }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php
index c30147f..9dc82ca 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php
@@ -344,11 +344,11 @@ function testAggregationOrder() {
     ));
 
     // Store the expected key for the first item in the cache.
-    $cache = array_keys(variable_get('drupal_js_cache_files', array()));
+    $cache = array_keys(state()->get('system.drupal_js_cache_files') ?: array());
     $expected_key = $cache[0];
 
     // Reset variables and add a file in a different scope first.
-    variable_del('drupal_js_cache_files');
+    state()->delete('system.drupal_js_cache_files');
     drupal_static_reset('drupal_add_js');
     drupal_add_library('system', 'drupal');
     drupal_add_js('some/custom/javascript_file.js', array('scope' => 'footer'));
@@ -363,7 +363,7 @@ function testAggregationOrder() {
     ));
 
     // Compare the expected key for the first file to the current one.
-    $cache = array_keys(variable_get('drupal_js_cache_files', array()));
+    $cache = array_keys(state()->get('system.drupal_js_cache_files') ?: array());
     $key = $cache[0];
     $this->assertEqual($key, $expected_key, 'JavaScript aggregation is not affected by ordering in different scopes.');
   }
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 8127e00..170ae22 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -2188,6 +2188,15 @@ function system_update_8030() {
 }
 
 /**
+ * Remove the drupal_js_cache_files variable
+ *
+ * @see http://drupal.org/node/1798724
+ */
+function system_update_8022() {
+  update_variable_del('drupal_js_cache_files');
+}
+
+/**
  * @} End of "defgroup updates-7.x-to-8.x".
  * The next series of updates should start at 9000.
  */
