diff --git a/arkindex/training/migrations/0008_dataset_unique_elements.py b/arkindex/training/migrations/0008_dataset_unique_elements.py
new file mode 100644
index 0000000000000000000000000000000000000000..44224cfde6ebd29ee514783991791619e44eaea4
--- /dev/null
+++ b/arkindex/training/migrations/0008_dataset_unique_elements.py
@@ -0,0 +1,38 @@
+# Generated by Django 4.1.7 on 2024-03-28 14:54
+
+from django.db import migrations, models
+
+
+def update_unique_elements(apps, schema_editor):
+    """Update unique_elements to False when some elements are already duplicated"""
+    Dataset = apps.get_model("training", "Dataset")
+    DatasetElement = apps.get_model("training", "DatasetElement")
+    Dataset.objects.filter(
+        models.Exists(
+            DatasetElement.objects
+            .filter(set__dataset_id=models.OuterRef("pk"))
+            .values("element")
+            .annotate(dups=models.Count("element"))
+            .filter(dups__gte=2)
+        )
+    ).update(unique_elements=False)
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("training", "0007_datasetset_model"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="dataset",
+            name="unique_elements",
+            field=models.BooleanField(default=True),
+        ),
+        migrations.RunPython(
+            update_unique_elements,
+            reverse_code=migrations.RunPython.noop,
+            elidable=True,
+        ),
+    ]