diff --git a/scripts/gitaly_test.rb b/scripts/gitaly_test.rb
index b5d3facd18aecebbf27f436d3370280ab293430e..b5cc5118530272cb8ff208ac2a822cae91091848 100644
--- a/scripts/gitaly_test.rb
+++ b/scripts/gitaly_test.rb
@@ -23,7 +23,10 @@ module GitalyTest
       'BUNDLE_FLAGS' => "--jobs=4 --retry=3",
       'BUNDLE_INSTALL_FLAGS' => nil,
       'BUNDLE_GEMFILE' => gemfile,
-      'RUBYOPT' => nil
+      'RUBYOPT' => nil,
+
+      # Git hooks can't run during tests as the internal API is not running.
+      'GITALY_TESTING_NO_GIT_HOOKS' => "1"
     }
 
     if ENV['CI']
diff --git a/spec/support/helpers/test_env.rb b/spec/support/helpers/test_env.rb
index 06b5ecdf150369781ebe376d84f90de172d968e4..77f22d9dd24c49a9ca84002aabea816ac810a6c2 100644
--- a/spec/support/helpers/test_env.rb
+++ b/spec/support/helpers/test_env.rb
@@ -146,19 +146,6 @@ module TestEnv
       install_dir: Gitlab.config.gitlab_shell.path,
       version: Gitlab::Shell.version_required,
       task: 'gitlab:shell:install')
-
-    # gitlab-shell hooks don't work in our test environment because they try to make internal API calls
-    sabotage_gitlab_shell_hooks
-  end
-
-  def sabotage_gitlab_shell_hooks
-    create_fake_git_hooks(Gitlab::Shell.new.hooks_path)
-  end
-
-  def create_fake_git_hooks(hooks_dir)
-    %w[pre-receive post-receive update].each do |hook|
-      File.open(File.join(hooks_dir, hook), 'w', 0755) { |f| f.puts '#!/bin/sh' }
-    end
   end
 
   def setup_gitaly
@@ -172,7 +159,6 @@ module TestEnv
       task: "gitlab:gitaly:install[#{install_gitaly_args}]") do
 
         Gitlab::SetupHelper.create_gitaly_configuration(gitaly_dir, { 'default' => repos_path }, force: true)
-        create_fake_git_hooks(File.join(gitaly_dir, 'ruby/git-hooks'))
         start_gitaly(gitaly_dir)
       end
   end