diff --git a/app/models/project.rb b/app/models/project.rb
index 17b971b9d30fd83e1b4ef84dcbbf1bce30399878..273b04c6323b151e03ee8910cc38e627e61f2b74 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -404,7 +404,7 @@ class Project < ActiveRecord::Base
 
   def import_url=(value)
     import_url = Gitlab::ImportUrl.new(value)
-    create_or_update_import_data(import_url.credentials)
+    create_or_update_import_data(credentials: import_url.credentials)
     super(import_url.sanitized_url)
   end
 
@@ -417,26 +417,17 @@ class Project < ActiveRecord::Base
     end
   end
 
-  def create_or_update_import_data(credentials)
+  def create_or_update_import_data(data: nil, credentials: nil)
     project_import_data = import_data || build_import_data
-    project_import_data.credentials ||= {}
-    project_import_data.credentials = project_import_data.credentials.merge(credentials)
-    project_import_data.save
-  end
+    project_import_data.data = data if data
+    if credentials
+      project_import_data.credentials ||= {}
+      project_import_data.credentials = project_import_data.credentials.merge(credentials)
+    end
 
-  def create_or_update_import_data(credentials)
-    project_import_data = import_data || build_import_data
-    project_import_data.credentials ||= {}
-    project_import_data.credentials = project_import_data.credentials.merge(credentials)
     project_import_data.save
   end
 
-  def update_import_data(data: nil, credentials: nil)
-    import_data.data = data if data
-    import_data.credentials = import_data.credentials.merge(credentials) if credentials
-    import_data.save
-  end
-
   def import?
     external_import? || forked?
   end
diff --git a/lib/gitlab/bitbucket_import/project_creator.rb b/lib/gitlab/bitbucket_import/project_creator.rb
index 65b62b2b816438ec8c6367c0ef3a4919fc59b204..941f818b8478f6f76d2ef422a51304b3178b6273 100644
--- a/lib/gitlab/bitbucket_import/project_creator.rb
+++ b/lib/gitlab/bitbucket_import/project_creator.rb
@@ -23,7 +23,7 @@ module Gitlab
           import_url: "ssh://git@bitbucket.org/#{repo["owner"]}/#{repo["slug"]}.git",
         ).execute
 
-        project.update_import_data(credentials: { bb_session: session_data })
+        project.create_or_update_import_data(credentials: { bb_session: session_data })
 
         project
       end
diff --git a/lib/gitlab/fogbugz_import/project_creator.rb b/lib/gitlab/fogbugz_import/project_creator.rb
index c000b3004686be2ebf2034409fb7fa2a2addf8bc..3840765db878139a444bf2786a03fc49b8e86817 100644
--- a/lib/gitlab/fogbugz_import/project_creator.rb
+++ b/lib/gitlab/fogbugz_import/project_creator.rb
@@ -24,7 +24,7 @@ module Gitlab
           import_url: Project::UNKNOWN_IMPORT_URL
         ).execute
 
-        project.update_import_data(data: { 'repo' => repo.raw_data, 'user_map' => user_map }, credentials: { fb_session: fb_session })
+        project.create_or_update_import_data(data: { 'repo' => repo.raw_data, 'user_map' => user_map }, credentials: { fb_session: fb_session })
 
         project
       end
diff --git a/lib/gitlab/google_code_import/project_creator.rb b/lib/gitlab/google_code_import/project_creator.rb
index d2e20afbb1e2020c47493e674329d424ec471af1..0abb7a64c17e39d34ed0ddb820a717740d69b324 100644
--- a/lib/gitlab/google_code_import/project_creator.rb
+++ b/lib/gitlab/google_code_import/project_creator.rb
@@ -24,7 +24,7 @@ module Gitlab
           import_url: repo.import_url
         ).execute
 
-        project.update_import_data(data: { 'repo' => repo.raw_data, 'user_map' => user_map })
+        project.create_or_update_import_data(data: { 'repo' => repo.raw_data, 'user_map' => user_map })
 
         project
       end