diff --git a/core/modules/user/lib/Drupal/user/AccountFormController.php b/core/modules/user/lib/Drupal/user/AccountFormController.php
index a5545f4..68cd5d8 100644
--- a/core/modules/user/lib/Drupal/user/AccountFormController.php
+++ b/core/modules/user/lib/Drupal/user/AccountFormController.php
@@ -45,14 +45,11 @@ public function form(array $form, array &$form_state, EntityInterface $account)
       '#weight' => -10,
     );
 
-    // The mail field is NOT required if account originally had no mail set
-    // and the user performing the edit has 'administer users' permission.
-    // This allows users without e-mail address to be edited and deleted.
     $form['account']['mail'] = array(
       '#type' => 'email',
       '#title' => t('E-mail address'),
       '#description' => t('A valid e-mail address. All e-mails from the system will be sent to this address. The e-mail address is not made public and will only be used if you wish to receive a new password or wish to receive certain news or notifications by e-mail.'),
-      '#required' => !(empty($account->mail) && user_access('administer users')),
+      '#required' => TRUE,
       '#default_value' => (!$register ? $account->mail : ''),
       '#attributes' => array('autocomplete' => 'off'),
     );
@@ -284,24 +281,20 @@ public function validate(array $form, array &$form_state) {
     }
 
     $mail = $form_state['values']['mail'];
-
-    if (!empty($mail)) {
-      $mail_taken = (bool) db_select('users')
+    $mail_taken = (bool) db_select('users')
       ->fields('users', array('uid'))
       ->condition('uid', (int) $account->uid, '<>')
       ->condition('mail', db_like($mail), 'LIKE')
       ->range(0, 1)
       ->execute()
       ->fetchField();
-
-      if ($mail_taken) {
-        // Format error message dependent on whether the user is logged in or not.
-        if ($GLOBALS['user']->uid) {
-          form_set_error('mail', t('The e-mail address %email is already taken.', array('%email' => $mail)));
-        }
-        else {
-          form_set_error('mail', t('The e-mail address %email is already registered. <a href="@password">Have you forgotten your password?</a>', array('%email' => $mail, '@password' => url('user/password'))));
-        }
+    if ($mail_taken) {
+      // Format error message dependent on whether the user is logged in or not.
+      if ($GLOBALS['user']->uid) {
+        form_set_error('mail', t('The e-mail address %email is already taken.', array('%email' => $mail)));
+      }
+      else {
+        form_set_error('mail', t('The e-mail address %email is already registered. <a href="@password">Have you forgotten your password?</a>', array('%email' => $mail, '@password' => url('user/password'))));
       }
     }
 
diff --git a/core/modules/user/lib/Drupal/user/RegisterFormController.php b/core/modules/user/lib/Drupal/user/RegisterFormController.php
index 6e4a260..81958a0 100644
--- a/core/modules/user/lib/Drupal/user/RegisterFormController.php
+++ b/core/modules/user/lib/Drupal/user/RegisterFormController.php
@@ -130,19 +130,14 @@ public function save(array $form, array &$form_state) {
     }
     // No administrator approval required.
     elseif ($account->status || $notify) {
-      if (empty($account->mail) && $notify) {
-        drupal_set_message(t('The new user <a href="@url">%name</a> was created without an email address, so no welcome message was sent.', array('@url' => url($uri['path'], $uri['options']), '%name' => $account->name)));
+      $op = $notify ? 'register_admin_created' : 'register_no_approval_required';
+      _user_mail_notify($op, $account);
+      if ($notify) {
+        drupal_set_message(t('A welcome message with further instructions has been e-mailed to the new user <a href="@url">%name</a>.', array('@url' => url($uri['path'], $uri['options']), '%name' => $account->name)));
       }
       else {
-        $op = $notify ? 'register_admin_created' : 'register_no_approval_required';
-        _user_mail_notify($op, $account);
-        if ($notify) {
-          drupal_set_message(t('A welcome message with further instructions has been e-mailed to the new user <a href="@url">%name</a>.', array('@url' => url($uri['path'], $uri['options']), '%name' => $account->name)));
-        }
-        else {
-          drupal_set_message(t('A welcome message with further instructions has been sent to your e-mail address.'));
-          $form_state['redirect'] = '';
-        }
+        drupal_set_message(t('A welcome message with further instructions has been sent to your e-mail address.'));
+        $form_state['redirect'] = '';
       }
     }
     // Administrator approval required.
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php b/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php
index 0d12cff..a1d9379 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php
@@ -361,34 +361,6 @@ function testUserCancelByAdmin() {
   }
 
   /**
-   * Tests deletion of a user account without an e-mail address.
-   */
-  function testUserWithoutEmailCancelByAdmin() {
-    variable_set('user_cancel_method', 'user_cancel_reassign');
-
-    // Create a regular user.
-    $account = $this->drupalCreateUser(array());
-    // This user has no e-mail address.
-    $account->mail = '';
-    $account->save();
-
-    // Create administrative user.
-    $admin_user = $this->drupalCreateUser(array('administer users'));
-    $this->drupalLogin($admin_user);
-
-    // Delete regular user without e-mail address.
-    $this->drupalGet('user/' . $account->uid . '/edit');
-    $this->drupalPost(NULL, NULL, t('Cancel account'));
-    $this->assertRaw(t('Are you sure you want to cancel the account %name?', array('%name' => $account->name)), t('Confirmation form to cancel account displayed.'));
-    $this->assertText(t('Select the method to cancel the account above.'), t('Allows to select account cancellation method.'));
-
-    // Confirm deletion.
-    $this->drupalPost(NULL, NULL, t('Cancel account'));
-    $this->assertRaw(t('%name has been deleted.', array('%name' => $account->name)), t('User deleted.'));
-    $this->assertFalse(user_load($account->uid), t('User is not found in the database.'));
-  }
-
-  /**
    * Create an administrative user and mass-delete other users.
    */
   function testMassUserCancelByAdmin() {
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserEditTest.php b/core/modules/user/lib/Drupal/user/Tests/UserEditTest.php
index 6bf60bc..fdfbb2b 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserEditTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserEditTest.php
@@ -88,7 +88,7 @@ function testUserEdit() {
    * Tests editing of a user account without an e-mail address.
    */
   function testUserWithoutEmailEdit() {
-    // Test that an admin can edit users without an e-mail address.
+    // Test that an admin can not edit users without an e-mail address.
     $admin = $this->drupalCreateUser(array('administer users'));
     $this->drupalLogin($admin);
     // Create a regular user.
@@ -97,6 +97,6 @@ function testUserWithoutEmailEdit() {
     $user1->mail = '';
     $user1->save();
     $this->drupalPost("user/$user1->uid/edit", array('mail' => ''), t('Save'));
-    $this->assertRaw(t("The changes have been saved."));
+    $this->assertRaw(t("E-mail address field is required."));
   }
 }
