diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9411cc620031e39581eff8c77dd89328efb545a7..c055d1f384ec77a222b51c07837fa0227fbee004 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -66,6 +66,7 @@ entry.
 - In all filterable drop downs, put input field in focus only after load is complete (Ido @leibo)
 - Improve search query parameter naming in /admin/users !7115 (YarNayar)
 - Fix table pagination to be responsive
+- Fix applying GitHub-imported labels when importing job is interrupted
 - Allow to search for user by secondary email address in the admin interface(/admin/users) !7115 (YarNayar)
 - Updated commit SHA styling on the branches page.
 
diff --git a/lib/gitlab/github_import/importer.rb b/lib/gitlab/github_import/importer.rb
index ecc28799737b4c06f14371c8dc129225bdca5cc3..90cf38a8513e9bf83689689037700be99afc115e 100644
--- a/lib/gitlab/github_import/importer.rb
+++ b/lib/gitlab/github_import/importer.rb
@@ -52,13 +52,14 @@ module Gitlab
         fetch_resources(:labels, repo, per_page: 100) do |labels|
           labels.each do |raw|
             begin
-              label = LabelFormatter.new(project, raw).create!
-              @labels[label.title] = label.id
+              LabelFormatter.new(project, raw).create!
             rescue => e
               errors << { type: :label, url: Gitlab::UrlSanitizer.sanitize(raw.url), errors: e.message }
             end
           end
         end
+
+        cache_labels!
       end
 
       def import_milestones
@@ -234,6 +235,12 @@ module Gitlab
         end
       end
 
+      def cache_labels!
+        project.labels.select(:id, :title).find_each do |label|
+          @labels[label.title] = label.id
+        end
+      end
+
       def fetch_resources(resource_type, *opts)
         return if imported?(resource_type)