diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeRevisionsUiTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeRevisionsUiTest.php
new file mode 100644
index 0000000..a0bb54d
--- /dev/null
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeRevisionsUiTest.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\node\Tests\NodeRevisionsUiTest.
+ */
+
+namespace Drupal\node\Tests;
+
+/**
+ * Tests the node revision functionality.
+ */
+class NodeRevisionsUiTest extends NodeTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name' => 'Node revisions UI test',
+      'description' => 'Checks the UI for controlling node revision behavior.',
+      'group' => 'Node',
+    );
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  function setUp() {
+    parent::setUp();
+
+    // Create and log in user.
+    $web_user = $this->drupalCreateUser(
+      array(
+        'administer nodes',
+        'edit any page content'
+      )
+    );
+
+    $this->drupalLogin($web_user);
+  }
+
+  /**
+   * Checks that unchecking 'Create new revision' works when editing a node.
+   */
+  function testNodeFormSaveWithoutRevision() {
+
+    // Set page revision setting 'create new revision'. This will mean new
+    // revisions are created by default when the node is edited.
+    $type = entity_load('node_type', 'page');
+    $type->settings['node']['options']['revision'] = TRUE;
+    $type->save();
+
+    // Create the node.
+    $node = $this->drupalCreateNode();
+
+    // Verify the checkbox is checked on the node edit form.
+    $this->drupalGet('node/' . $node->id() . '/edit');
+    $this->assertFieldChecked('edit-revision', "'Create new revision' checkbox is checked");
+
+    // Uncheck the create new revision checkbox and save the node.
+    $edit = array('revision' => FALSE);
+    $this->drupalPostForm('node/' . $node->id() . '/edit', $edit, t('Save and keep published'));
+
+    // Load the node again and check the revision is the same as before.
+    $node_revision = node_load($node->id(), TRUE);
+    $this->assertEqual($node_revision->getRevisionId(), $node->getRevisionId(), "After an existing node is saved with 'Create new revision' unchecked, a new revision is not created.");
+
+    // Verify the checkbox is checked on the node edit form.
+    $this->drupalGet('node/' . $node->id() . '/edit');
+    $this->assertFieldChecked('edit-revision', "'Create new revision' checkbox is checked");
+
+    // Submit the form without changing the checkbox.
+    $edit = array();
+    $this->drupalPostForm('node/' . $node->id() . '/edit', $edit, t('Save and keep published'));
+
+    // Load the node again and check the revision is different from before.
+    $node_revision = node_load($node->id(), TRUE);
+    $this->assertNotEqual($node_revision->getRevisionId(), $node->getRevisionId(), "After an existing node is saved with 'Create new revision' checked, a new revision is created.");
+
+  }
+}
