diff --git a/arkindex/training/serializers.py b/arkindex/training/serializers.py
index ee6d05196f3d79bcd8fd48eac6a0a9579c9b4f18..9c4e357380ea0cc72a65c11cf61f1d7af03b90a8 100644
--- a/arkindex/training/serializers.py
+++ b/arkindex/training/serializers.py
@@ -714,7 +714,18 @@ class DatasetElementSerializer(serializers.ModelSerializer):
 
     def validate(self, data):
         data = super().validate(data)
-        data.pop("dataset")
+        dataset = data.pop("dataset")
+        if dataset.unique_elements and (
+            set := (
+                dataset.sets
+                .filter(set_elements__element_id=data["element_id"])
+                .values_list("name", flat=True)
+                .first()
+            )
+        ):
+            raise ValidationError({"element_id": [
+                f"The dataset prevent duplication and this element is already present in set {set}."
+            ]})
         return data