diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index be5ba251c65cb96b0ac403301069c7a24403ad7a..4cb918c9c8b0dbec42cf5558022f5862f4e791d5 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -14,6 +14,7 @@ class ApplicationSetting < MainClusterwide::ApplicationRecord
   ignore_columns %i[instance_administration_project_id instance_administrators_group_id], remove_with: '16.2', remove_after: '2023-06-22'
   ignore_columns %i[encrypted_ai_access_token encrypted_ai_access_token_iv], remove_with: '16.10', remove_after: '2024-03-22'
   ignore_columns %i[repository_storages], remove_with: '16.8', remove_after: '2023-12-21'
+  ignore_columns %i[delayed_project_removal lock_delayed_project_removal delayed_group_deletion], remove_with: '16.10', remove_after: '2024-03-22'
 
   INSTANCE_REVIEW_MIN_USERS = 50
   GRAFANA_URL_ERROR_MESSAGE = 'Please check your Grafana URL setting in ' \
diff --git a/ee/app/models/ee/application_setting.rb b/ee/app/models/ee/application_setting.rb
index fc0d7123f7e40f40d01da28ec69b3fe61a982623..f92d261e5198613a8b17449ed6f380046b949617 100644
--- a/ee/app/models/ee/application_setting.rb
+++ b/ee/app/models/ee/application_setting.rb
@@ -109,10 +109,6 @@ module ApplicationSetting
         user_id_existence: true,
         if: :git_rate_limit_users_alertlist_changed?
 
-      validates :delayed_project_removal,
-        exclusion: { in: [true], message: -> (object, data) { _("can't be enabled when delayed group deletion is disabled") } },
-        if: ->(setting) { !setting.delayed_group_deletion? }
-
       validates :dashboard_limit,
         :repository_size_limit,
         :elasticsearch_indexed_field_length_limit,
@@ -179,9 +175,6 @@ module ApplicationSetting
         allow_nil: false,
         inclusion: { in: [true, false], message: N_('must be a boolean value') }
 
-      alias_attribute :delayed_project_deletion, :delayed_project_removal
-
-      before_save :update_lock_delayed_project_removal, if: :delayed_group_deletion_changed?
       after_commit :update_personal_access_tokens_lifetime, if: :saved_change_to_max_personal_access_token_lifetime?
       after_commit :resume_elasticsearch_indexing
     end
@@ -554,11 +547,5 @@ def check_elasticsearch_url_scheme
     rescue ::Gitlab::HTTP_V2::UrlBlocker::BlockedUrlError
       errors.add(:elasticsearch_url, "only supports valid HTTP(S) URLs.")
     end
-
-    def update_lock_delayed_project_removal
-      # This is the only way to update lock_delayed_project_removal and it is used to
-      # enforce the cascading setting when delayed deletion is disabled on a instance.
-      self.lock_delayed_project_removal = !self.delayed_group_deletion
-    end
   end
 end
diff --git a/ee/spec/helpers/ee/application_settings_helper_spec.rb b/ee/spec/helpers/ee/application_settings_helper_spec.rb
index 8d1b54003f11fd817c8b85a0f1cd808510aa92a7..2f381413d525a9d3b221974200b99c585c6e2048 100644
--- a/ee/spec/helpers/ee/application_settings_helper_spec.rb
+++ b/ee/spec/helpers/ee/application_settings_helper_spec.rb
@@ -70,8 +70,6 @@
 
     before do
       application_setting.deletion_adjourned_period = 1
-      application_setting.delayed_group_deletion = false
-      application_setting.delayed_project_deletion = false
 
       helper.instance_variable_set(:@application_setting, application_setting)
     end
diff --git a/ee/spec/models/application_setting_spec.rb b/ee/spec/models/application_setting_spec.rb
index 16926309565f06820a7c3ee70df1105225fa4c5e..fe840866da315797b7ba621129b75520d163d35d 100644
--- a/ee/spec/models/application_setting_spec.rb
+++ b/ee/spec/models/application_setting_spec.rb
@@ -1142,33 +1142,6 @@ def expect_is_es_licensed
     end
   end
 
-  describe 'delayed deletion', feature_category: :groups_and_projects do
-    context 'when delayed_group_deletion is set to false' do
-      before do
-        setting.update!(delayed_group_deletion: false)
-      end
-
-      it 'unlocks the delayed_project_removal setting' do
-        expect(setting.lock_delayed_project_removal).to be true
-      end
-
-      it { is_expected.not_to allow_value(true).for(:delayed_project_removal) }
-      it { is_expected.to allow_value(false).for(:delayed_project_removal) }
-    end
-
-    context 'when delayed_group_deletion is set to true' do
-      before do
-        setting.update!(delayed_group_deletion: true)
-      end
-
-      it 'locks the delayed_project_removal setting' do
-        expect(setting.lock_delayed_project_removal).to be false
-      end
-
-      it { is_expected.to validate_inclusion_of(:delayed_project_removal).in_array([true, false]) }
-    end
-  end
-
   describe '#personal_access_tokens_disabled?', feature_category: :user_management do
     subject { setting.personal_access_tokens_disabled? }
 
diff --git a/ee/spec/views/admin/application_settings/_deletion_protection_settings.html.haml_spec.rb b/ee/spec/views/admin/application_settings/_deletion_protection_settings.html.haml_spec.rb
index 3dfad2fd222c0a5849f9cb0c207354c0034dd82f..75aebd008b1892d7d0081a0d466ff2a179d72f6e 100644
--- a/ee/spec/views/admin/application_settings/_deletion_protection_settings.html.haml_spec.rb
+++ b/ee/spec/views/admin/application_settings/_deletion_protection_settings.html.haml_spec.rb
@@ -6,9 +6,7 @@
   let_it_be(:application_setting) do
     build(
       :application_setting,
-      deletion_adjourned_period: 1,
-      delayed_group_deletion: false,
-      delayed_project_deletion: false
+      deletion_adjourned_period: 1
     )
   end
 
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 8b844f552f8ff8346c764c5e9bbdf7b46407161e..3ed9beb7db557a448050e30fa19a4623108fd0fa 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -57966,9 +57966,6 @@ msgstr ""
 msgid "can't be blank"
 msgstr ""
 
-msgid "can't be enabled when delayed group deletion is disabled"
-msgstr ""
-
 msgid "can't be nil"
 msgstr ""