diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 28323484a3744e576fea23f0d1a31bad2c00d1cc..3568348971b18276970ffece4db09215450cdf1e 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -74,6 +74,7 @@ git_host:
   upload_pack: true
   receive_pack: true
   # host: localhost
+  # config_file: gitolite.conf
   # port: 22
 
 # Git settings
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index fb80963655758b0f5edd7501d9db6a096015a12a..32af3d077784a435232bab0f7a7734de0d654ecd 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -104,6 +104,10 @@ class Settings < Settingslogic
       git_host['admin_uri'] || 'git@localhost:gitolite-admin'
     end
 
+    def gitolite_config_file
+      git_host['config_file'] || 'gitolite.conf'
+    end
+
     def gitolite_admin_key
       git_host['gitolite_admin_key'] || 'gitlab'
     end
diff --git a/lib/gitlab/backend/gitolite_config.rb b/lib/gitlab/backend/gitolite_config.rb
index d988164d4398da1114042f25ee99c6568a73f87f..1bef19a2a7941d70658e3ef6938c8e7d5316a8c2 100644
--- a/lib/gitlab/backend/gitolite_config.rb
+++ b/lib/gitlab/backend/gitolite_config.rb
@@ -14,7 +14,10 @@ module Gitlab
     end
 
     def ga_repo
-      @ga_repo ||= ::Gitolite::GitoliteAdmin.new(File.join(config_tmp_dir,'gitolite'))
+      @ga_repo ||= ::Gitolite::GitoliteAdmin.new(
+        File.join(config_tmp_dir,'gitolite'),
+        conf: Gitlab.config.gitolite_config_file
+      )
     end
 
     def apply