diff --git a/migration/18.04/1804.sql b/migration/18.04/1804.sql
index 4586a55b0ca608f0c837fdcd9a060670b3a73952..8d4801b839c2bcb414cabefc0c1ee0d2cf1abba4 100644
--- a/migration/18.04/1804.sql
+++ b/migration/18.04/1804.sql
@@ -675,14 +675,22 @@ DO $$ BEGIN
     SELECT users.id, usergroups.id, groupbasket.basket_id, TRUE FROM users, usergroups, groupbasket, usergroup_content
     WHERE usergroup_content.primary_group = 'Y' AND groupbasket.group_id = usergroup_content.group_id AND users.user_id = usergroup_content.user_id AND usergroups.group_id = usergroup_content.group_id
     ORDER BY users.id;
-    insert into users_baskets_preferences (user_serial_id, group_serial_id, basket_id, display)
-    select users.id, usergroups.id, user_baskets_secondary.basket_id, TRUE from users, usergroups, user_baskets_secondary
-    where users.user_id = user_baskets_secondary.user_id and usergroups.group_id = user_baskets_secondary.group_id
-    order by users.id;
-    INSERT INTO users_baskets_preferences (user_serial_id, group_serial_id, basket_id, display) 
-    SELECT u.id, g.id, 'IndexingBasket', TRUE FROM users as u INNER JOIN usergroup_content AS c ON u.user_id=c.user_id INNER JOIN usergroups AS g ON g.group_id=c.group_id 
-    WHERE (u.user_id,g.group_id) IN (SELECT user_id, group_id FROM usergroup_content WHERE primary_group = 'N');
-    DROP TABLE IF EXISTS user_baskets_secondary;
+
+    BEGIN
+      INSERT INTO users_baskets_preferences (user_serial_id, group_serial_id, basket_id, display)
+      SELECT users.id, usergroups.id, user_baskets_secondary.basket_id, TRUE from users, usergroups, user_baskets_secondary
+      WHERE users.user_id = user_baskets_secondary.user_id and usergroups.group_id = user_baskets_secondary.group_id
+      ORDER BY users.id;
+    EXCEPTION WHEN unique_violation THEN
+    END;
+
+    BEGIN
+      INSERT INTO users_baskets_preferences (user_serial_id, group_serial_id, basket_id, display) 
+      SELECT u.id, g.id, 'IndexingBasket', TRUE FROM users as u INNER JOIN usergroup_content AS c ON u.user_id=c.user_id INNER JOIN usergroups AS g ON g.group_id=c.group_id 
+      WHERE (u.user_id,g.group_id) IN (SELECT user_id, group_id FROM usergroup_content WHERE primary_group = 'N');
+    EXCEPTION WHEN unique_violation THEN
+    END;
+    
   END IF;
 END$$;