diff --git a/config/alfresco/content-services-context.xml b/config/alfresco/content-services-context.xml
index f6ea0ba147..4d8a38b340 100644
--- a/config/alfresco/content-services-context.xml
+++ b/config/alfresco/content-services-context.xml
@@ -115,9 +115,6 @@
-
-
-
diff --git a/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java b/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java
index da96bb4cf8..aedde22ce3 100644
--- a/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java
+++ b/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java
@@ -322,7 +322,6 @@ public class ComplexContentTransformer extends AbstractContentTransformer2 imple
Iterator transformerIterator = transformers.iterator();
Iterator intermediateMimetypeIterator = intermediateMimetypes.iterator();
- boolean first = true;
while (transformerIterator.hasNext())
{
ContentTransformer transformer = transformerIterator.next();
@@ -343,18 +342,19 @@ public class ComplexContentTransformer extends AbstractContentTransformer2 imple
"." + targetExt);
currentWriter = new FileContentWriter(tempFile);
currentWriter.setMimetype(nextMimetype);
-
- // Must clear the sourceNodeRef to avoid transformers thinking the temporary file
- // is the original node. Not done for the first transformer as the name will be
- // correct.
- if (!first)
- {
- options.setSourceNodeRef(null);
- }
- first = false;
}
+
// transform
transformer.transform(currentReader, currentWriter, options);
+
+ // Must clear the sourceNodeRef after the first transformation to avoid later
+ // transformers thinking the intermediate file is the original node. However as
+ // we put the original sourceNodeRef back at the end of this try block (so that we are
+ // not changing any data), we must setting the value to null just after the
+ // transformation. Really only needs to be done after the first transformation
+ // but doing it every time is simpler and faster.
+ options.setSourceNodeRef(null);
+
// move the source on
currentReader = currentWriter.getReader();
}