diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 9609923434b5a3c1729d4ed287b9a979defad29d..6409181601173c07ec21ee0073444bcb40d54923 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -130,11 +130,6 @@ RSpec/InstanceVariable:
 
 RSpec/LetSetup:
   Exclude:
-    - 'spec/controllers/admin/accounts_controller_spec.rb'
-    - 'spec/controllers/admin/action_logs_controller_spec.rb'
-    - 'spec/controllers/admin/instances_controller_spec.rb'
-    - 'spec/controllers/admin/reports/actions_controller_spec.rb'
-    - 'spec/controllers/admin/statuses_controller_spec.rb'
     - 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb'
     - 'spec/controllers/api/v1/filters_controller_spec.rb'
     - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb'
diff --git a/spec/controllers/admin/accounts_controller_spec.rb b/spec/controllers/admin/accounts_controller_spec.rb
index 782e460a4276fdacfc368ba272be6db2f576d108..b57ec6714161649d3385e678a350bba9c04b4db2 100644
--- a/spec/controllers/admin/accounts_controller_spec.rb
+++ b/spec/controllers/admin/accounts_controller_spec.rb
@@ -285,7 +285,10 @@ RSpec.describe Admin::AccountsController do
 
     let(:current_user) { Fabricate(:user, role: role) }
     let(:account) { Fabricate(:account, suspended: true) }
-    let!(:email_block) { Fabricate(:canonical_email_block, reference_account: account) }
+
+    before do
+      _email_block = Fabricate(:canonical_email_block, reference_account: account)
+    end
 
     context 'when user is admin' do
       let(:role) { UserRole.find_by(name: 'Admin') }
diff --git a/spec/controllers/admin/action_logs_controller_spec.rb b/spec/controllers/admin/action_logs_controller_spec.rb
index 044ddf2c420c5b3495f133dfc7f7a2f89673da53..b7854469dd9093a78440e9c18c5268897748c9b7 100644
--- a/spec/controllers/admin/action_logs_controller_spec.rb
+++ b/spec/controllers/admin/action_logs_controller_spec.rb
@@ -8,8 +8,8 @@ describe Admin::ActionLogsController do
   # Action logs typically cause issues when their targets are not in the database
   let!(:account) { Fabricate(:account) }
 
-  let!(:orphaned_logs) do
-    %w(
+  before do
+    _orphaned_logs = %w(
       Account User UserRole Report DomainBlock DomainAllow
       EmailDomainBlock UnavailableDomain Status AccountWarning
       Announcement IpBlock Instance CustomEmoji CanonicalEmailBlock Appeal
diff --git a/spec/controllers/admin/instances_controller_spec.rb b/spec/controllers/admin/instances_controller_spec.rb
index 5fed5d98d2a43dbafba34246909966d819ed7813..74d69d1aaa1c085059c94327128408550be53cda 100644
--- a/spec/controllers/admin/instances_controller_spec.rb
+++ b/spec/controllers/admin/instances_controller_spec.rb
@@ -8,10 +8,10 @@ RSpec.describe Admin::InstancesController do
   let(:current_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
 
   let!(:account_popular_main) { Fabricate(:account, domain: 'popular') }
-  let!(:account_popular_other) { Fabricate(:account, domain: 'popular') }
-  let!(:account_less_popular) { Fabricate(:account, domain: 'less.popular') }
 
   before do
+    _account_less_popular = Fabricate(:account, domain: 'less.popular')
+    _account_popular_other = Fabricate(:account, domain: 'popular')
     sign_in current_user, scope: :user
   end
 
diff --git a/spec/controllers/admin/reports/actions_controller_spec.rb b/spec/controllers/admin/reports/actions_controller_spec.rb
index 1f3951516d94801cf1682e0966fd007fdce7d716..06d4b31f54e4690e26929baf90b735e4a4cf27a7 100644
--- a/spec/controllers/admin/reports/actions_controller_spec.rb
+++ b/spec/controllers/admin/reports/actions_controller_spec.rb
@@ -54,13 +54,16 @@ describe Admin::Reports::ActionsController do
   describe 'POST #create' do
     let(:target_account) { Fabricate(:account) }
     let(:statuses)       { [Fabricate(:status, account: target_account), Fabricate(:status, account: target_account)] }
-    let!(:media)         { Fabricate(:media_attachment, account: target_account, status: statuses[0]) }
     let(:report)         { Fabricate(:report, target_account: target_account, status_ids: statuses.map(&:id)) }
     let(:text)           { 'hello' }
     let(:common_params) do
       { report_id: report.id, text: text }
     end
 
+    before do
+      _media = Fabricate(:media_attachment, account: target_account, status: statuses[0])
+    end
+
     shared_examples 'common behavior' do
       it 'closes the report and redirects' do
         expect { subject }.to mark_report_action_taken.and create_target_account_strike
@@ -122,14 +125,17 @@ describe Admin::Reports::ActionsController do
         let(:action) { 'mark_as_sensitive' }
         let(:statuses) { [media_attached_status, media_attached_deleted_status] }
 
-        let!(:status) { Fabricate(:status, account: target_account) }
         let(:media_attached_status) { Fabricate(:status, account: target_account) }
-        let!(:media_attachment) { Fabricate(:media_attachment, account: target_account, status: media_attached_status) }
         let(:media_attached_deleted_status) { Fabricate(:status, account: target_account, deleted_at: 1.day.ago) }
-        let!(:media_attachment2) { Fabricate(:media_attachment, account: target_account, status: media_attached_deleted_status) }
         let(:last_media_attached_status) { Fabricate(:status, account: target_account) }
-        let!(:last_media_attachment) { Fabricate(:media_attachment, account: target_account, status: last_media_attached_status) }
-        let!(:last_status) { Fabricate(:status, account: target_account) }
+
+        before do
+          _last_media_attachment = Fabricate(:media_attachment, account: target_account, status: last_media_attached_status)
+          _last_status = Fabricate(:status, account: target_account)
+          _media_attachment = Fabricate(:media_attachment, account: target_account, status: media_attached_status)
+          _media_attachment2 = Fabricate(:media_attachment, account: target_account, status: media_attached_deleted_status)
+          _status = Fabricate(:status, account: target_account)
+        end
 
         it_behaves_like 'common behavior'
 
diff --git a/spec/controllers/admin/statuses_controller_spec.rb b/spec/controllers/admin/statuses_controller_spec.rb
index 9befdf978f9822360546e7968073b12d4c1f9b07..dc5e28e97271479d00129026141ac52123b1db24 100644
--- a/spec/controllers/admin/statuses_controller_spec.rb
+++ b/spec/controllers/admin/statuses_controller_spec.rb
@@ -9,13 +9,14 @@ describe Admin::StatusesController do
   let(:account) { Fabricate(:account) }
   let!(:status) { Fabricate(:status, account: account) }
   let(:media_attached_status) { Fabricate(:status, account: account, sensitive: !sensitive) }
-  let!(:media_attachment) { Fabricate(:media_attachment, account: account, status: media_attached_status) }
   let(:last_media_attached_status) { Fabricate(:status, account: account, sensitive: !sensitive) }
-  let!(:last_media_attachment) { Fabricate(:media_attachment, account: account, status: last_media_attached_status) }
-  let!(:last_status) { Fabricate(:status, account: account) }
   let(:sensitive) { true }
 
   before do
+    _last_media_attachment = Fabricate(:media_attachment, account: account, status: last_media_attached_status)
+    _last_status = Fabricate(:status, account: account)
+    _media_attachment = Fabricate(:media_attachment, account: account, status: media_attached_status)
+
     sign_in user, scope: :user
   end