diff --git a/core/modules/content_moderation/src/Plugin/Field/ModerationStateFieldItemList.php b/core/modules/content_moderation/src/Plugin/Field/ModerationStateFieldItemList.php
index 644a76b..f226682 100644
--- a/core/modules/content_moderation/src/Plugin/Field/ModerationStateFieldItemList.php
+++ b/core/modules/content_moderation/src/Plugin/Field/ModerationStateFieldItemList.php
@@ -55,7 +55,7 @@ protected function getModerationState() {
     // @see \Drupal\node\NodeTypeForm::form()
     $bundle_entity = \Drupal::service('content_moderation.moderation_information')
       ->loadBundleEntity($entity->getEntityType()->getBundleEntityType(), $entity->bundle());
-    if ($bundle_entity && ($default = $bundle_entity->getThirdPartySetting('content_moderation', 'default_moderation_state'))) {
+    if ($bundle_entity && $bundle_entity->getThirdPartySetting('content_moderation', 'enabled') && ($default = $bundle_entity->getThirdPartySetting('content_moderation', 'default_moderation_state'))) {
       return ModerationState::load($default);
     }
   }
diff --git a/core/modules/content_moderation/src/Tests/ModerationStateNodeTest.php b/core/modules/content_moderation/src/Tests/ModerationStateNodeTest.php
index a819caf..e2069b4 100644
--- a/core/modules/content_moderation/src/Tests/ModerationStateNodeTest.php
+++ b/core/modules/content_moderation/src/Tests/ModerationStateNodeTest.php
@@ -47,6 +47,7 @@ public function testCreatingContent() {
     }
 
     $node = reset($nodes);
+    $this->assertEqual('draft', $node->moderation_state->target_id);
 
     $path = 'node/' . $node->id() . '/edit';
     // Set up published revision.
@@ -55,6 +56,7 @@ public function testCreatingContent() {
     /* @var \Drupal\node\NodeInterface $node */
     $node = \Drupal::entityTypeManager()->getStorage('node')->load($node->id());
     $this->assertTrue($node->isPublished());
+    $this->assertEqual('published', $node->moderation_state->target_id);
 
     // Verify that the state field is not shown.
     $this->assertNoText('Published');
@@ -62,6 +64,31 @@ public function testCreatingContent() {
     // Delete the node.
     $this->drupalPostForm('node/' . $node->id() . '/delete', array(), t('Delete'));
     $this->assertText(t('The Moderated content moderated content has been deleted.'));
+
+    $this->drupalGet('admin/structure/types/manage/moderated_content/moderation');
+    $this->assertFieldByName('enable_moderation_state');
+    $this->assertFieldChecked('edit-enable-moderation-state');
+    $this->drupalPostForm(NULL, ['enable_moderation_state' => FALSE], t('Save'));
+    $this->drupalGet('admin/structure/types/manage/moderated_content/moderation');
+    $this->assertFieldByName('enable_moderation_state');
+    $this->assertNoFieldChecked('edit-enable-moderation-state');
+    $this->drupalPostForm('node/add/moderated_content', [
+      'title[0][value]' => 'non-moderated content',
+    ], t('Save and publish'));
+
+    $nodes = \Drupal::entityTypeManager()
+      ->getStorage('node')
+      ->loadByProperties([
+        'title' => 'non-moderated content',
+      ]);
+
+    if (!$nodes) {
+      $this->fail('Non-moderated test node was not saved correctly.');
+      return;
+    }
+
+    $node = reset($nodes);
+    $this->assertEqual(NULL, $node->moderation_state->target_id);
   }
 
   /**
