diff --git a/config/initializers/05-site_settings.rb b/config/initializers/05-site_settings.rb
index 973e156a08a..2cd3a7c6b91 100644
--- a/config/initializers/05-site_settings.rb
+++ b/config/initializers/05-site_settings.rb
@@ -1,7 +1,17 @@
-RailsMultisite::ConnectionManagement.each_connection do
-  begin
-    SiteSetting.refresh!
-  rescue ActiveRecord::StatementInvalid
-    # This will happen when migrating a new database
+reload_settings = lambda {
+  RailsMultisite::ConnectionManagement.each_connection do
+    begin
+      SiteSetting.refresh!
+    rescue ActiveRecord::StatementInvalid
+      # This will happen when migrating a new database
+    end
+  end
+}
+
+if Rails.configuration.cache_classes
+  reload_settings.call
+else
+  ActionDispatch::Reloader.to_prepare do
+    reload_settings.call
   end
 end