diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 8271dc83116516d4c900ba52cebe3a9e0e367a81..714d55323d4302fbdcafaa17927e9ad0a15b1b31 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -50,6 +50,8 @@ class MergeRequest < ActiveRecord::Base
 
   delegate :commits, :diffs, :real_size, to: :merge_request_diff, prefix: nil
 
+  attr_accessor :importing
+
   # When this attribute is true some MR validation is ignored
   # It allows us to close or modify broken merge requests
   attr_accessor :allow_broken
@@ -128,7 +130,7 @@ class MergeRequest < ActiveRecord::Base
   validates :target_project, presence: true
   validates :target_branch, presence: true
   validates :merge_user, presence: true, if: :merge_when_build_succeeds?
-  validate :validate_branches
+  validate :validate_branches, unless: :importing
   validate :validate_fork
 
   scope :of_group, ->(group) { where("source_project_id in (:group_project_ids) OR target_project_id in (:group_project_ids)", group_project_ids: group.projects.select(:id).reorder(nil)) }
diff --git a/app/services/projects/import_export/project_tree_restorer.rb b/app/services/projects/import_export/project_tree_restorer.rb
index 87b78197cd6a22c996f4da013c1c3c3a3d3b67f9..ac9b71320044204e7aab38bb67fd46a316ddcf10 100644
--- a/app/services/projects/import_export/project_tree_restorer.rb
+++ b/app/services/projects/import_export/project_tree_restorer.rb
@@ -44,7 +44,7 @@ module Projects
       def create_relation(relation, relation_hash_list)
         relation_hash_list.map do |relation_hash|
           Projects::ImportExport::RelationFactory.create(
-            relation_sym: relation, relation_hash: relation_hash.merge(project_id: project.id), members_map: members_map)
+            relation_sym: relation, relation_hash: relation_hash.merge('project_id' => project.id), members_map: members_map)
         end
       end
     end
diff --git a/app/services/projects/import_export/relation_factory.rb b/app/services/projects/import_export/relation_factory.rb
index 39ac29e3f80dbf75c606b06deba9e4584d077721..1b9bd234a4316bb0b6f6c2522bc1a2ce3bc03b1c 100644
--- a/app/services/projects/import_export/relation_factory.rb
+++ b/app/services/projects/import_export/relation_factory.rb
@@ -10,6 +10,12 @@ module Projects
         relation_sym = parse_relation_sym(relation_sym)
         klass = relation_class(relation_sym)
         relation_hash.delete('id') #screw IDs for now
+        #TODO refactor this...
+        if relation_sym == :merge_requests
+          relation_hash['target_project_id'] = relation_hash.delete('project_id')
+          relation_hash['source_project_id'] = -1
+          relation_hash['importing'] = true
+        end
         update_user_references(relation_hash, members_map)
         klass.new(relation_hash)
       end