diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java index deac6a4fd7..cd851d5e42 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java @@ -352,7 +352,9 @@ protected List createTasks(final Any any, } values.add(AttributeBuilder.build(schema.getExtAttrName(), vAttr.getValues())); - propByRes.add(ResourceOperation.UPDATE, schema.getProvision().getResource().getKey()); + if (!propByRes.contains(ResourceOperation.CREATE, schema.getProvision().getResource().getKey())) { + propByRes.add(ResourceOperation.UPDATE, schema.getProvision().getResource().getKey()); + } } else { LOG.warn("{} not owned by or {} not allowed for {}", schema.getProvision().getResource(), schema, any);