diff --git a/model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/ValueMetadataComputation.java b/model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/ValueMetadataComputation.java
index 33a70ee338b..b735632531f 100644
--- a/model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/ValueMetadataComputation.java
+++ b/model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/ValueMetadataComputation.java
@@ -85,7 +85,8 @@ private void appendValues(ItemPath outputPath, PrismValueDeltaSetTriple> outpu
"metadata mapping in " + computer.dataMapping.getMappingContextDescription());
createSources(builder, mappingBean);
builder.targetContext(metadataDefinition)
- .now(computer.dataMapping.now);
+ .now(computer.dataMapping.now)
+ .conditionMaskOld(false); // We are not interested in old values (deltas are irrelevant in metadata mappings).
return builder.build();
}
@@ -99,7 +100,9 @@ private void createSources(MetadataMappingBuilder, ?> builder, MetadataMapping
//noinspection unchecked
sourceItem.addAll(getSourceValues(sourcePath));
//noinspection unchecked
- builder.additionalSource(new Source<>(sourceItem, null, null, sourceName, sourceDefinition));
+ Source, ?> source = new Source<>(sourceItem, null, null, sourceName, sourceDefinition);
+ source.recompute();
+ builder.additionalSource(source);
}
}
diff --git a/model/model-intest/src/test/resources/metadata/template-regular-user.xml b/model/model-intest/src/test/resources/metadata/template-regular-user.xml
index d7e68ffb134..f9321da8975 100644
--- a/model/model-intest/src/test/resources/metadata/template-regular-user.xml
+++ b/model/model-intest/src/test/resources/metadata/template-regular-user.xml
@@ -34,7 +34,24 @@