diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index 266045f7afaaff8ddb47bdc34c71027b360e7d68..5a9e55a95f46d0f3bee13308c1f80ee95d3203a9 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -68,8 +68,14 @@ class ApplicationSetting < ActiveRecord::Base
     end
   end
 
+  after_commit do
+    Rails.cache.write('application_setting.last', self)
+  end
+
   def self.current
-    ApplicationSetting.last
+    Rails.cache.fetch('application_setting.last') do
+      ApplicationSetting.last
+    end
   end
 
   def self.create_from_defaults
diff --git a/app/models/ci/application_setting.rb b/app/models/ci/application_setting.rb
index 0cf496f7d81490d78b47b23d0cb514ce4e5b5c2d..4ab3e2dcbb35a6bea897eef246319de703bcd67a 100644
--- a/app/models/ci/application_setting.rb
+++ b/app/models/ci/application_setting.rb
@@ -12,9 +12,15 @@
 module Ci
   class ApplicationSetting < ActiveRecord::Base
     extend Ci::Model
-    
+
+    after_commit do
+      Rails.cache.write('ci_application_setting.last', self)
+    end
+
     def self.current
-      Ci::ApplicationSetting.last
+      Rails.cache.fetch('ci_application_setting.last') do
+        Ci::ApplicationSetting.last
+      end
     end
 
     def self.create_from_defaults