diff --git a/lib/gitlab/github_import/client.rb b/lib/gitlab/github_import/client.rb
index 043f10d96a953192f84668446005377c2d92fbf4..f57f5b747066d78baf5755f07bab797486c8ce32 100644
--- a/lib/gitlab/github_import/client.rb
+++ b/lib/gitlab/github_import/client.rb
@@ -78,6 +78,11 @@ module Gitlab
 
       def rate_limit
         api.rate_limit!
+      # GitHub Rate Limit API returns 404 when the rate limit is
+      # disabled. In this case we just want to return gracefully
+      # instead of spitting out an error.
+      rescue Octokit::NotFound
+        OpenStruct.new(remaining: GITHUB_SAFE_REMAINING_REQUESTS + 1)
       end
 
       def rate_limit_exceed?
diff --git a/spec/lib/gitlab/github_import/client_spec.rb b/spec/lib/gitlab/github_import/client_spec.rb
index 3b023a3544681b0d9386065f49f8f376a99778d6..efce10dbf1502d1389b578b587145882cf7985b2 100644
--- a/spec/lib/gitlab/github_import/client_spec.rb
+++ b/spec/lib/gitlab/github_import/client_spec.rb
@@ -61,4 +61,13 @@ describe Gitlab::GithubImport::Client, lib: true do
       expect(client.api.api_endpoint).to eq 'https://github.company.com/'
     end
   end
+
+  context 'when rate limit is disabled' do
+    it 'does not raise error' do
+      stub_request(:get, /api.github.com/)
+      allow(client.api).to receive(:rate_limit!).and_raise(Octokit::NotFound)
+
+      expect { client.issues }.not_to raise_error
+    end
+  end
 end