diff --git a/CHANGELOG b/CHANGELOG
index a50edf1a797fb44d57e71c86f09050ff599c3175..fa6044bd87cfe7821efdc3de57f7c0b37311a2f7 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -4,7 +4,7 @@ v 8.10.0 (unreleased)
   - Expose {should,force}_remove_source_branch (Ben Boeckel)
   - Fix commit builds API, return all builds for all pipelines for given commit. !4849
   - Replace Haml with Hamlit to make view rendering faster. !3666
-  - Expire the branch cache after `git gc` runs
+  - Refresh the branch cache after `git gc` runs
   - Refactor repository paths handling to allow multiple git mount points
   - Optimize system note visibility checking by memoizing the visible reference count !5070
   - Add Application Setting to configure default Repository Path for new projects
diff --git a/app/workers/git_garbage_collect_worker.rb b/app/workers/git_garbage_collect_worker.rb
index 2fa3c838f551c7248b20b9da2247e78ad42ee768..a6cefd4d60175afa3231dd340090627766df2567 100644
--- a/app/workers/git_garbage_collect_worker.rb
+++ b/app/workers/git_garbage_collect_worker.rb
@@ -8,7 +8,9 @@ def perform(project_id)
     project = Project.find(project_id)
 
     gitlab_shell.gc(project.repository_storage_path, project.path_with_namespace)
-    # Expire the branch cache in case garbage collection caused a ref lookup to fail
+    # Refresh the branch cache in case garbage collection caused a ref lookup to fail
     project.repository.after_create_branch
+    project.repository.branch_names
+    project.repository.has_visible_content?
   end
 end
diff --git a/spec/workers/git_garbage_collect_worker_spec.rb b/spec/workers/git_garbage_collect_worker_spec.rb
index a9cce8b8b599e9a6a9978157728f412ca25810da..c9f5aae0815b364f883060d8fcee62c67bd9a360 100644
--- a/spec/workers/git_garbage_collect_worker_spec.rb
+++ b/spec/workers/git_garbage_collect_worker_spec.rb
@@ -16,7 +16,10 @@
         project.repository_storage_path,
         project.path_with_namespace).
       and_return(true)
-      expect_any_instance_of(Repository).to receive(:after_create_branch)
+      expect_any_instance_of(Repository).to receive(:after_create_branch).and_call_original
+      expect_any_instance_of(Repository).to receive(:branch_names).and_call_original
+      expect_any_instance_of(Repository).to receive(:branch_count).and_call_original
+      expect_any_instance_of(Repository).to receive(:has_visible_content?).and_call_original
 
       subject.perform(project.id)
     end