diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4e8453726a3eb5da7c717769ee1838a771f1191b..1ea9ce1f4974cb9d80f4b74de6444cb9b9ffca70 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -388,13 +388,11 @@ flaky-examples-check:
 
 .assets-compile-cache: &assets-compile-cache
   cache:
-    key: "assets-compile:vendor_ruby:.yarn-cache:tmp_cache_assets_sprockets:v4"
+    key: "assets-compile:vendor_ruby:.yarn-cache:tmp_cache_assets_sprockets:v5"
     paths:
       - vendor/ruby/
       - .yarn-cache/
-      # We have disabled caching of sprockets for now, as it fails to pick up changes in SCSS:
-      # https://gitlab.com/gitlab-org/gitlab-ce/issues/57431
-      # - tmp/cache/assets/sprockets
+      - tmp/cache/assets/sprockets
 
 compile-assets:
   <<: *dedicated-runner
diff --git a/lib/gitlab/patch/sprockets_base_file_digest_key.rb b/lib/gitlab/patch/sprockets_base_file_digest_key.rb
index 3925cdbbadaffe91356ab8e824801a7fcba4104c..1c472638145edb9e8f0cd6f905fead34e0d74423 100644
--- a/lib/gitlab/patch/sprockets_base_file_digest_key.rb
+++ b/lib/gitlab/patch/sprockets_base_file_digest_key.rb
@@ -9,7 +9,7 @@ module Gitlab
       def file_digest(path)
         if stat = self.stat(path)
           digest = self.stat_digest(path, stat)
-          integrity_uri = self.hexdigest_integrity_uri(digest)
+          integrity_uri = self.integrity_uri(digest)
 
           key = Sprockets::UnloadedAsset.new(path, self).file_digest_key(integrity_uri)
           cache.fetch(key) do