diff --git a/core/modules/content_moderation/src/EntityOperations.php b/core/modules/content_moderation/src/EntityOperations.php
index 3f66100..08ceaf5 100644
--- a/core/modules/content_moderation/src/EntityOperations.php
+++ b/core/modules/content_moderation/src/EntityOperations.php
@@ -192,7 +192,9 @@ protected function updateOrCreateFromEntity(EntityInterface $entity) {
     if ($entity->getEntityType()->hasKey('langcode')) {
       $entity_langcode = $entity->language()->getId();
       if (!$content_moderation_state->hasTranslation($entity_langcode)) {
-        $content_moderation_state->addTranslation($entity_langcode);
+        $content_moderation_state->addTranslation($entity_langcode, [
+          'workflow' => $content_moderation_state->get('workflow')->target_id,
+        ]);
       }
       if ($content_moderation_state->language()->getId() !== $entity_langcode) {
         $content_moderation_state = $content_moderation_state->getTranslation($entity_langcode);
diff --git a/core/modules/content_moderation/tests/src/Kernel/DefaultRevisionStateTest.php b/core/modules/content_moderation/tests/src/Kernel/DefaultRevisionStateTest.php
index 274e8b5..24df8b5 100644
--- a/core/modules/content_moderation/tests/src/Kernel/DefaultRevisionStateTest.php
+++ b/core/modules/content_moderation/tests/src/Kernel/DefaultRevisionStateTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\content_moderation\Kernel;
 
+use Drupal\Core\Database\Database;
 use Drupal\KernelTests\KernelTestBase;
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\node\Entity\Node;
@@ -72,6 +73,7 @@ public function testMultilingual() {
     $workflow->getTypePlugin()->addEntityTypeAndBundle('node', 'example');
     $workflow->save();
 
+    /** @var \Drupal\node\NodeInterface $english_node */
     $english_node = Node::create([
       'type' => 'example',
       'title' => 'Test title',
@@ -83,6 +85,7 @@ public function testMultilingual() {
     $this->assertEquals('draft', $english_node->moderation_state->value);
     $this->assertFalse($english_node->isPublished());
     $this->assertTrue($english_node->isDefaultRevision());
+    $this->assertModerationState($english_node->getRevisionId(), $english_node->language()->getId(), 'draft');
 
     // Revision 2 (fr)
     $french_node = $english_node->addTranslation('fr', ['title' => 'French title']);
@@ -90,6 +93,7 @@ public function testMultilingual() {
     $french_node->save();
     $this->assertTrue($french_node->isPublished());
     $this->assertTrue($french_node->isDefaultRevision());
+    $this->assertModerationState($french_node->getRevisionId(), $french_node->language()->getId(), 'published');
 
     // Revision 3 (fr)
     $node = Node::load($english_node->id())->getTranslation('fr');
@@ -97,6 +101,7 @@ public function testMultilingual() {
     $node->save();
     $this->assertFalse($node->isPublished());
     $this->assertFalse($node->isDefaultRevision());
+    $this->assertModerationState($node->getRevisionId(), $node->language()->getId(), 'draft');
 
     // Revision 4 (en)
     $latest_revision = $this->entityTypeManager->getStorage('node')->loadRevision(3);
@@ -104,6 +109,36 @@ public function testMultilingual() {
     $latest_revision->save();
     $this->assertFalse($latest_revision->isPublished());
     $this->assertFalse($latest_revision->isDefaultRevision());
+    $this->assertModerationState($latest_revision->getRevisionId(), $latest_revision->language()->getId(), 'draft');
+  }
+
+  /**
+   * Verifies the expected moderation state revision exists.
+   *
+   * @param int $revision_id
+   *   The revision ID of the host entity.
+   * @param string $langcode
+   *   The language code of the host entity to check.
+   * @param $expected_state
+   *   The state the content moderation state revision should be in.
+   * @param string $expected_workflow
+   *   The workflow the content moderation state revision should be using.
+   */
+  protected function assertModerationState($revision_id, $langcode, $expected_state, $expected_workflow = 'editorial') {
+    $moderation_state_storage = $this->entityTypeManager->getStorage('content_moderation_state');
+
+    $query = $moderation_state_storage->getQuery();
+    $results = $query->allRevisions()
+      ->condition('content_entity_revision_id', $revision_id)
+      ->condition('langcode', $langcode)
+      ->execute();
+    $this->assertCount(1, $results);
+
+    $moderation_state = $moderation_state_storage
+      ->loadRevision(key($results))
+      ->getTranslation($langcode);
+    $this->assertEquals($expected_state, $moderation_state->get('moderation_state')->value);
+    $this->assertEquals($expected_workflow, $moderation_state->get('workflow')->target_id);
   }
 
 }
