diff --git a/lib/gitlab/import_export/command_line_util.rb b/lib/gitlab/import_export/command_line_util.rb
index 2b0467d87798161072175b2fa576f9a8a562fb53..64ef3dd48302dbfc012f1c07d06b18cbc1383ad7 100644
--- a/lib/gitlab/import_export/command_line_util.rb
+++ b/lib/gitlab/import_export/command_line_util.rb
@@ -66,7 +66,7 @@ def download(url, upload_path, size_limit: nil)
           current_size = 0
 
           Gitlab::HTTP.get(url, stream_body: true, allow_object_storage: true) do |fragment|
-            if [301, 302, 307].include?(fragment.code)
+            if [301, 302, 303, 307].include?(fragment.code)
               Gitlab::Import::Logger.warn(message: "received redirect fragment", fragment_code: fragment.code)
             elsif fragment.code == 200
               current_size += fragment.bytesize
diff --git a/spec/lib/gitlab/import_export/command_line_util_spec.rb b/spec/lib/gitlab/import_export/command_line_util_spec.rb
index f5913da08ba76f476c89d7058f23e5106db3758a..b71f17259a988c155fb654039f1731fb338bbebb 100644
--- a/spec/lib/gitlab/import_export/command_line_util_spec.rb
+++ b/spec/lib/gitlab/import_export/command_line_util_spec.rb
@@ -114,7 +114,7 @@ def initialize
         end
       end
 
-      %w[MOVED_PERMANENTLY FOUND TEMPORARY_REDIRECT].each do |code|
+      %w[MOVED_PERMANENTLY FOUND SEE_OTHER TEMPORARY_REDIRECT].each do |code|
         context "with a redirect status code #{code}" do
           let(:status) { HTTP::Status.const_get(code, false) }