diff --git a/app/services/topics_importer.rb b/app/services/topics_importer.rb
index 1acf80432b5c40bc85c4ab2b7efd91db22467fd2..0180f3e3182c545117aa15a1f628b3df453f8066 100644
--- a/app/services/topics_importer.rb
+++ b/app/services/topics_importer.rb
@@ -9,26 +9,33 @@ class TopicsImporter
 
   def import
 
-    relations = []
+    learning_objects = []
 
     @items.each do |learning_object|
 
       lo_topics = parse_topics ( learning_object.get_metadata_values_of "dc.subject.category" )
 
-      lo_topics.each_with_index do |topic_name, i|
+      lo_topics.each do |topic_name|
+        topic = @@topics[topic_name]
+
+        if !topic_exists? topic_name
+          topic = Topic.where(name: topic_name).new
+        elsif @@topics[topic_name].nil?
+          topic = Topic.find_by_name topic_name
+        end
 
-        next if topic_exists? topic_name
 
-        topic = Topic.where(name: topic_name).new
-        topic.learning_objects << learning_object
-        create_relations(lo_topics[i - 1], topic_name) unless i == 0
+        create_relations(topic_name)
+        learning_object.topics << topic
         @@topics[topic_name] = topic
 
       end
+      learning_objects << learning_object
       separate_relations()
     end
 
     Topic.import @@topics.values
+    LearningObject.import learning_objects
     import_topics_relations()
 
   end
@@ -36,9 +43,8 @@ class TopicsImporter
 
   private
 
-  def create_relations parent_name, child_name
-    @@topics_relations.push(parent_name)
-    @@topics_relations.push(child_name)
+  def create_relations topic_name
+    @@topics_relations << topic_name
   end
 
   def separate_relations
@@ -53,7 +59,7 @@ class TopicsImporter
       unless  relation.nil? || @@topics_relations[i - 1].nil?
         parent_id =  Topic.find_by_name(@@topics_relations[i - 1]).id
         child_id = Topic.find_by_name(relation).id
-        unless TopicRelationship.exists?(parent_id: parent_id, child_id: child_id) || i == 0
+        unless TopicRelationship.exists?(parent_id: parent_id, child_id: child_id)
           relations.push TopicRelationship.where(parent_id: parent_id, child_id: child_id ).new
         end
       end