diff --git a/CHANGELOG b/CHANGELOG
index e741dbf374b662b1226739bb5ed026dbd702e987..ffe5766a638fed93320277eb764e1fb155a1679d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -12,6 +12,7 @@ v 8.11.0 (unreleased)
 
 v 8.10.2 (unreleased)
   - Use project ID in repository cache to prevent stale data from persisting across projects
+  - Fix backup restore
 
 v 8.10.1 (unreleased)
   - Fix Error 500 when creating Wiki pages with hyphens or spaces
diff --git a/lib/backup/repository.rb b/lib/backup/repository.rb
index b9773f98d752a7c8ea4a077c387f8b3776a1bd57..1f5917b81275367420a109aa7cd29fad214d9a67 100644
--- a/lib/backup/repository.rb
+++ b/lib/backup/repository.rb
@@ -54,10 +54,10 @@ module Backup
         # Move repos dir to 'repositories.old' dir
         bk_repos_path = File.join(path, '..', 'repositories.old.' + Time.now.to_i.to_s)
         FileUtils.mv(path, bk_repos_path)
+        # This is expected from gitlab:check
+        FileUtils.mkdir_p(path, mode: 2770)
       end
 
-      FileUtils.mkdir_p(repos_path)
-
       Project.find_each(batch_size: 1000) do |project|
         $progress.print " * #{project.path_with_namespace} ... "