diff --git a/provider/legal-reference/src/main/java/org/opengroup/osdu/legal/tags/dataaccess/MongoLegalTagRepository.java b/provider/legal-reference/src/main/java/org/opengroup/osdu/legal/tags/dataaccess/MongoLegalTagRepository.java
index cc445e6c6bc2fd5a242f2640eab3c549a56468bf..58ea2abf0c60bfeb23e0d94f6a42c45b44915d25 100644
--- a/provider/legal-reference/src/main/java/org/opengroup/osdu/legal/tags/dataaccess/MongoLegalTagRepository.java
+++ b/provider/legal-reference/src/main/java/org/opengroup/osdu/legal/tags/dataaccess/MongoLegalTagRepository.java
@@ -35,6 +35,7 @@ import org.opengroup.osdu.legal.config.MongoDBConfigProperties;
 import org.opengroup.osdu.legal.entity.LegalTagMongoEntity;
 import org.opengroup.osdu.legal.provider.interfaces.ILegalTagRepository;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
@@ -59,7 +60,15 @@ public class MongoLegalTagRepository implements ILegalTagRepository {
 
     MongoOperations ops = clientProvider.getOps(mongoDBConfigProperties.getMongoDbName());
 
-    LegalTagMongoEntity savedEntity = ops.save(convertFrom(legalTag), LEGAL_TAGS_ENTITYNAME);
+    LegalTagMongoEntity savedEntity = null;
+
+    try {
+      savedEntity = ops.insert(convertFrom(legalTag), LEGAL_TAGS_ENTITYNAME);
+    } catch (DuplicateKeyException ex){
+      throw new AppException(409, "Legal tag conflict", String.format(
+              "A LegalTag already exists for the given name %s. Can't create again. Id is %s",
+              legalTag.getName(), legalTag.getId()));
+    }
 
     return savedEntity.getId();
   }