diff --git src/wp-admin/user-new.php src/wp-admin/user-new.php
index ef52612418..8daff39340 100644
--- src/wp-admin/user-new.php
+++ src/wp-admin/user-new.php
@@ -34,7 +34,7 @@ if ( isset( $_REQUEST['action'] ) && 'adduser' == $_REQUEST['action'] ) {
 
 	$user_details = null;
 	$user_email   = wp_unslash( $_REQUEST['email'] );
-	if ( false !== strpos( $user_email, '@' ) ) {
+	if ( is_email( $user_email ) ) {
 		$user_details = get_user_by( 'email', $user_email );
 	} else {
 		if ( current_user_can( 'manage_network_users' ) ) {
diff --git src/wp-includes/class-wp-user-query.php src/wp-includes/class-wp-user-query.php
index 33408e51d0..9cb4cd8c68 100644
--- src/wp-includes/class-wp-user-query.php
+++ src/wp-includes/class-wp-user-query.php
@@ -524,7 +524,7 @@ class WP_User_Query {
 			}
 			if ( ! $search_columns ) {
 				if ( false !== strpos( $search, '@' ) ) {
-					$search_columns = array( 'user_email' );
+					$search_columns = array( 'user_email', 'user_login' );
 				} elseif ( is_numeric( $search ) ) {
 					$search_columns = array( 'user_login', 'ID' );
 				} elseif ( preg_match( '|^https?://|', $search ) && ! ( is_multisite() && wp_is_large_network( 'users' ) ) ) {
diff --git src/wp-login.php src/wp-login.php
index f7f0fa16ea..94620c764b 100644
--- src/wp-login.php
+++ src/wp-login.php
@@ -355,8 +355,15 @@ function retrieve_password() {
 
 	if ( empty( $_POST['user_login'] ) || ! is_string( $_POST['user_login'] ) ) {
 		$errors->add( 'empty_username', __( '<strong>ERROR</strong>: Enter a username or email address.' ) );
-	} elseif ( strpos( $_POST['user_login'], '@' ) ) {
-		$user_data = get_user_by( 'email', trim( wp_unslash( $_POST['user_login'] ) ) );
+	} elseif ( is_email( $_POST['user_login'] ) ) {
+		$user_login = trim( wp_unslash( $_POST['user_login'] ) );
+
+		$user_data = get_user_by( 'email', $user_login );
+
+		if ( empty( $user_data ) ) {
+			$user_data = get_user_by( 'email', $user_login );
+		}
+
 		if ( empty( $user_data ) ) {
 			$errors->add( 'invalid_email', __( '<strong>ERROR</strong>: There is no account with that username or email address.' ) );
 		}
