diff --git a/lib/gitlab/sidekiq_middleware.rb b/lib/gitlab/sidekiq_middleware.rb
index 399ab2fd20b46d03bf38ceb1f2abff6794ec994a..2faebc55c5935ba3f57461ac3ff2814889c190d3 100644
--- a/lib/gitlab/sidekiq_middleware.rb
+++ b/lib/gitlab/sidekiq_middleware.rb
@@ -22,6 +22,8 @@ def self.server_configurator(metrics: true, arguments_logger: true, skip_jobs: t
         chain.add ::Labkit::Middleware::Sidekiq::Server
         chain.add ::Gitlab::SidekiqMiddleware::RequestStoreMiddleware
 
+        chain.add ::Gitlab::QueryLimiting::SidekiqMiddleware if ::Gitlab::QueryLimiting.enabled_for_env?
+
         if metrics
           chain.add ::Gitlab::SidekiqMiddleware::ServerMetrics
 
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index de5e236b1416cdfdd9d5e9907108210cd27ecbee..ce4a9d941fd026ad151ef3eb3b3850341d2d6219 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -440,7 +440,6 @@
         skip_jobs: false # We're not skipping jobs for inline tests
       ).call(chain)
 
-      chain.insert_after ::Gitlab::SidekiqMiddleware::RequestStoreMiddleware, ::Gitlab::QueryLimiting::SidekiqMiddleware
       chain.insert_after ::Gitlab::SidekiqMiddleware::RequestStoreMiddleware, IsolatedRequestStore
 
       example.run