diff --git a/tests/src/FunctionalJavascript/SimpleWidgetTest.php b/tests/src/FunctionalJavascript/SimpleWidgetTest.php
index a634314..04ed00e 100644
--- a/tests/src/FunctionalJavascript/SimpleWidgetTest.php
+++ b/tests/src/FunctionalJavascript/SimpleWidgetTest.php
@@ -2,7 +2,10 @@
 
 namespace Drupal\Tests\inline_entity_form\FunctionalJavascript;
 
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
+use Drupal\field\Entity\FieldConfig;
+use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\node\Entity\Node;
 use Drupal\node\NodeInterface;
 
@@ -34,6 +37,7 @@ class SimpleWidgetTest extends InlineEntityFormTestBase {
       'view own unpublished content',
       'create ief_simple_entity_no_bundle content',
       'administer entity_test__without_bundle content',
+      'bypass node access',
     ]);
   }
 
@@ -229,6 +233,67 @@ class SimpleWidgetTest extends InlineEntityFormTestBase {
     $this->assertEntityByLabel('Entity title', 'entity_test__without_bundle');
   }
 
+  /**
+   * Ensures that an entity with a reference to an entity with a required field
+   * doesn't make the reference itself required as well.
+   */
+  public function testEntityWithRequiredField() {
+    // Get the xpath selectors for the fields in this test.
+    $title_field_xpath = $this->getXpathForNthInputByLabelText('Title', 1);
+    $first_nested_title_field_xpath = $this->getXpathForNthInputByLabelText('Title', 2);
+
+    // Create a Content Type. Since each Content Type already has a required
+    // title field, we can use that for this test.
+    $this->drupalCreateContentType([
+      'type' => 'required_field_content_type',
+      'name' => 'Required Field Content Type',
+    ]);
+
+    // Make a reference field to the above Content Type on the ief_simple_single
+    // Content Type. Note that this reference field isn't required.
+    $this->fieldName = mb_strtolower($this->randomMachineName());
+    FieldStorageConfig::create([
+      'field_name' => $this->fieldName,
+      'entity_type' => 'node',
+      'type' => 'entity_reference',
+      'cardinality' => FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED,
+      'settings' => [
+        'target_type' => 'node',
+      ],
+    ])->save();
+    FieldConfig::create([
+      'field_name' => $this->fieldName,
+      'bundle' => 'ief_simple_single',
+      'entity_type' => 'node',
+      'settings' => [
+        'handler' => 'default',
+        'handler_settings' => [
+          'target_bundles' => ['required_field_content_type'],
+          'sort' => ['field' => '_none'],
+        ],
+      ],
+    ])->save();
+    EntityFormDisplay::load('node.ief_simple_single.default')
+      ->setComponent($this->fieldName, [
+        'type' => 'inline_entity_form_simple',
+      ])
+      ->save();
+
+    $page = $this->getSession()->getPage();
+    $assert_session = $this->assertSession();
+    $this->drupalLogin($this->user);
+
+    $host_node_title = 'Required Field Node';
+    $nested_node_title = 'Required Field Nested Node';
+    $this->drupalGet('node/add/ief_simple_single');
+    $assert_session->elementExists('xpath', $title_field_xpath)
+      ->setValue($host_node_title);
+    $assert_session->elementExists('xpath', $first_nested_title_field_xpath)
+      ->setValue($nested_node_title);
+    $page->pressButton('Save');
+    $assert_session->pageTextContains('IEF simple single Required Field Node has been created.');
+  }
+
   /**
    * Tests that user only has access to the their own nodes.
    *
