diff --git a/app/controllers/settings/deletes_controller.rb b/app/controllers/settings/deletes_controller.rb
index dd18b4c2fe8d995d67c3abaa210db5e9cd5280fe..80002b995e58a20eff26ee9257b3fc32957aa406 100644
--- a/app/controllers/settings/deletes_controller.rb
+++ b/app/controllers/settings/deletes_controller.rb
@@ -3,6 +3,7 @@
 class Settings::DeletesController < ApplicationController
   layout 'admin'
 
+  before_action :check_enabled_deletion
   before_action :authenticate_user!
 
   def show
@@ -21,6 +22,10 @@ class Settings::DeletesController < ApplicationController
 
   private
 
+  def check_enabled_deletion
+    redirect_to root_path unless Setting.open_deletion
+  end
+
   def delete_params
     params.require(:form_delete_confirmation).permit(:password)
   end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 42f6ab3db474a0435fb16783703f92ef1d533dc5..36c37fae08ffbdd5f98877c1184d70f2bae50b46 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -13,6 +13,10 @@ module ApplicationHelper
     Setting.open_registrations
   end
 
+  def open_deletion?
+    Setting.open_deletion
+  end
+
   def add_rtl_body_class(other_classes)
     other_classes = "#{other_classes} rtl" if [:ar, :fa, :he].include?(I18n.locale)
     other_classes
diff --git a/app/views/auth/registrations/edit.html.haml b/app/views/auth/registrations/edit.html.haml
index cbaa75ae04f6c24230d7763292a3e89a016e4238..38d4349cb6a841d98f8be35363ab7ad5fd0e4af5 100644
--- a/app/views/auth/registrations/edit.html.haml
+++ b/app/views/auth/registrations/edit.html.haml
@@ -12,7 +12,8 @@
   .actions
     = f.button :button, t('generic.save_changes'), type: :submit
 
-%hr/
+- if open_deletion?
+  %hr/
 
-%h6= t('auth.delete_account')
-%p.muted-hint= t('auth.delete_account_html', path: settings_delete_path)
+  %h6= t('auth.delete_account')
+  %p.muted-hint= t('auth.delete_account_html', path: settings_delete_path)
diff --git a/config/settings.yml b/config/settings.yml
index bffb7052acbfa0d37873d7f1bc433670a9bb06b4..7b78b6cdb1c52d35aaba55b7257f9ae6754bfa4a 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -14,6 +14,7 @@ defaults: &defaults
   site_contact_email: ''
   open_registrations: true
   closed_registrations_message: ''
+  open_deletion: true
   boost_modal: false
   auto_play_gif: true
   delete_modal: true
diff --git a/spec/controllers/settings/deletes_controller_spec.rb b/spec/controllers/settings/deletes_controller_spec.rb
index b9c7c3068cbc6ee0d015f2478d39333661e27570..9b55090df224a492103f1ac9d39c1378689c2882 100644
--- a/spec/controllers/settings/deletes_controller_spec.rb
+++ b/spec/controllers/settings/deletes_controller_spec.rb
@@ -68,5 +68,19 @@ describe Settings::DeletesController do
         expect(response).to redirect_to '/auth/sign_in'
       end
     end
+
+    context do
+      around do |example|
+        open_deletion = Setting.open_deletion
+        example.run
+        Setting.open_deletion = open_deletion
+      end
+
+      it 'redirects' do
+        Setting.open_deletion = false
+        delete :destroy
+        expect(response).to redirect_to root_path
+      end
+    end
   end
 end