diff --git a/core/modules/node/src/NodeForm.php b/core/modules/node/src/NodeForm.php
index ec0ad41..36cfc74 100644
--- a/core/modules/node/src/NodeForm.php
+++ b/core/modules/node/src/NodeForm.php
@@ -356,24 +356,6 @@ public function preview(array $form, FormStateInterface $form_state) {
   /**
    * {@inheritdoc}
    */
-  public function buildEntity(array $form, FormStateInterface $form_state) {
-    /** @var \Drupal\node\NodeInterface $entity */
-    $entity = parent::buildEntity($form, $form_state);
-    // A user might assign the node author by entering a user name in the node
-    // form, which we then need to translate to a user ID.
-    // @todo: Remove it when https://www.drupal.org/node/2322525 is pushed.
-    if (!empty($form_state->getValue('uid')[0]['target_id']) && $account = User::load($form_state->getValue('uid')[0]['target_id'])) {
-      $entity->setOwnerId($account->id());
-    }
-    else {
-      $entity->setOwnerId(0);
-    }
-    return $entity;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
   public function save(array $form, FormStateInterface $form_state) {
     $node = $this->entity;
     $insert = $node->isNew();
diff --git a/core/modules/node/src/Tests/NodeFormTest.php b/core/modules/node/src/Tests/NodeFormTest.php
new file mode 100755
index 0000000..47b0da7
--- /dev/null
+++ b/core/modules/node/src/Tests/NodeFormTest.php
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\node\Tests\NodeFormTest.
+ */
+
+namespace Drupal\node\Tests;
+
+/**
+ * Tests the node form.
+ *
+ * @group node
+ */
+class NodeFormTest extends NodeTestBase {
+
+  /**
+   * A normal logged in user.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $webUser;
+
+  /**
+   * A user with permission to bypass access content.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $adminUser;
+
+  public function setUp() {
+    parent::setUp();
+
+    // Create a user that has no access to change the state of the node.
+    $this->webUser = $this->drupalCreateUser(array('create article content', 'edit own article content'));
+    // Create a user that has access to change the state of the node.
+    $this->adminUser = $this->drupalCreateUser(array('administer nodes', 'bypass node access'));
+  }
+
+  /**
+   * Test switching the author form element.
+   */
+  public function testAuthorFormElement() {
+    // Create a node.
+    $node = $this->drupalCreateNode(['type' => 'article', 'uid' => $this->webUser]);
+    $this->assertEqual($this->webUser->id(), $node->getOwner()->id());
+
+    // Test with the regular entity reference field widget.
+    $this->drupalLogin($this->adminUser);
+    $this->drupalGet($node->urlInfo('edit-form'));
+    // Save the node without making any changes.
+    $this->drupalPostForm($node->urlInfo('edit-form'), [], t('Save and keep published'));
+    $storage = \Drupal::entityManager()->getStorage('node');
+    $node = $storage->load($node->id());
+    $this->assertEqual($this->webUser->id(), $node->getOwner()->id());
+
+    // Now test with the Autcompletes (Tags) field widget.
+    /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_display */
+    $form_display = \Drupal::entityManager()->getStorage('entity_form_display')->load('node.article.default');
+    $widget = $form_display->getComponent('uid');
+    $widget['type'] = 'entity_reference_autocomplete_tags';
+    $widget['settings'] = [
+      'match_operator' => 'CONTAINS',
+      'size' => 60,
+      'placeholder' => '',
+    ];
+    $form_display->setComponent('uid', $widget);
+    $form_display->save();
+
+    $this->drupalLogin($this->adminUser);
+    $this->drupalGet($node->urlInfo('edit-form'));
+    // Save the node without making any changes.
+    $this->drupalPostForm($node->urlInfo('edit-form'), [], t('Save and keep published'));
+    $storage = \Drupal::entityManager()->getStorage('node');
+    $node = $storage->load($node->id());
+    $this->assertEqual($this->webUser->id(), $node->getOwner()->id());
+  }
+
+}
