diff --git a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
index d72bee1bbaf6428c018307806c3d3ef2ef069ae7..9947916125969d3518ff5d034de2090a86331ce0 100644
--- a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
+++ b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
@@ -497,31 +497,11 @@ class ContentEntitySource extends SourcePluginBase implements SourcePreviewInter
 
     $translation = $entity->getTranslation($target_langcode);
 
-    // Create a revision if the entity is going to be saved. Embedded entities will have a revision created later on.
-    if ($save && $entity->getEntityType()->isRevisionable()) {
-      /** @var \Drupal\Core\Entity\TranslatableRevisionableStorageInterface $storage */
-      $storage = \Drupal::entityTypeManager()->getStorage($entity->getEntityTypeId());
-
-      if ($storage instanceof TranslatableRevisionableStorageInterface) {
-        // Always create a new revision of the translation.
-        $translation = $storage->createRevision($translation, $translation->isDefaultRevision());
-      }
-    }
-
     $manager = \Drupal::service('content_translation.manager');
     if ($manager->isEnabled($translation->getEntityTypeId(), $translation->bundle())) {
       $manager->getTranslationMetadata($translation)->setSource($entity->language()->getId());
     }
 
-    if ($translation instanceof RevisionLogInterface) {
-      $translation->setRevisionLogMessage($this->t('Created by translation job <a href=":url">@label</a>.', [
-        ':url' => $item->getJob()->toUrl()->toString(),
-        '@label' => $item->label(),
-      ]));
-      $translation->setRevisionUserId(\Drupal::currentUser()->id());
-      $translation->setRevisionCreationTime(\Drupal::time()->getRequestTime());
-    }
-
     foreach (Element::children($data) as $field_name) {
       $field_data = $data[$field_name];
 
@@ -543,6 +523,26 @@ class ContentEntitySource extends SourcePluginBase implements SourcePreviewInter
       $field_processor->setTranslations($field_data, $field);
     }
 
+    // Create a revision if the entity is going to be saved. Embedded entities will have a revision created later on.
+    if ($save && $entity->getEntityType()->isRevisionable()) {
+      /** @var \Drupal\Core\Entity\TranslatableRevisionableStorageInterface $storage */
+      $storage = \Drupal::entityTypeManager()->getStorage($entity->getEntityTypeId());
+
+      if ($storage instanceof TranslatableRevisionableStorageInterface) {
+        // Always create a new revision of the translation.
+        $translation = $storage->createRevision($translation, $translation->isDefaultRevision());
+      }
+    }
+
+    if ($translation instanceof RevisionLogInterface) {
+      $translation->setRevisionLogMessage($this->t('Created by translation job <a href=":url">@label</a>.', [
+        ':url' => $item->getJob()->toUrl()->toString(),
+        '@label' => $item->label(),
+      ]));
+      $translation->setRevisionUserId(\Drupal::currentUser()->id());
+      $translation->setRevisionCreationTime(\Drupal::time()->getRequestTime());
+    }
+
     $embeddable_fields = static::getEmbeddableFields($entity);
     foreach ($embeddable_fields as $field_name => $field_definition) {
 
