diff --git a/lib/gitlab/themes.rb b/lib/gitlab/themes.rb
index 5209df92795d21ef91bfde1ac94b3d4cca0ea767..37a36b9599b05932db46b0a5196e0a0aa6fb0c68 100644
--- a/lib/gitlab/themes.rb
+++ b/lib/gitlab/themes.rb
@@ -51,6 +51,19 @@ module Gitlab
       THEMES.each(&block)
     end
 
+    # Get the Theme for the specified user, or the default
+    #
+    # user - User record
+    #
+    # Returns a Theme
+    def self.for_user(user)
+      if user
+        by_id(user.theme_id)
+      else
+        default
+      end
+    end
+
     private
 
     def self.default_id