diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php
index a6f4a21e45..8174eeaf63 100644
--- a/src/wp-admin/includes/ajax-actions.php
+++ b/src/wp-admin/includes/ajax-actions.php
@@ -5425,7 +5425,7 @@ function wp_ajax_send_password_reset() {
 
 	// Send the password reset link.
 	$user    = get_userdata( $user_id );
-	$results = retrieve_password( $user->user_login );
+	$results = retrieve_password( $user->user_login, 'send_password_reset_from_admin' );
 
 	if ( true === $results ) {
 		wp_send_json_success(
diff --git a/src/wp-includes/user.php b/src/wp-includes/user.php
index 5c6db55afb..6e8a024233 100644
--- a/src/wp-includes/user.php
+++ b/src/wp-includes/user.php
@@ -2666,9 +2666,12 @@ function check_password_reset_key( $key, $login ) {
  *
  * @param string $user_login Optional. Username to send a password retrieval email for.
  *                           Defaults to `$_POST['user_login']` if not set.
+ * @param string $context    Optional. Context to send a password retrieval email for.
+ *                           Used to avoid sending the Admin IP address when the password
+ *                           reset was not asked by the user.
  * @return true|WP_Error True when finished, WP_Error object on error.
  */
-function retrieve_password( $user_login = null ) {
+function retrieve_password( $user_login = null, $context = '' ) {
 	$errors    = new WP_Error();
 	$user_data = false;
 
@@ -2768,13 +2771,15 @@ function retrieve_password( $user_login = null ) {
 	$message .= __( 'To reset your password, visit the following address:' ) . "\r\n\r\n";
 	$message .= network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n\r\n";
 
-	$requester_ip = $_SERVER['REMOTE_ADDR'];
-	if ( $requester_ip ) {
-		$message .= sprintf(
-			/* translators: %s: IP address of password reset requester. */
-			__( 'This password reset request originated from the IP address %s.' ),
-			$requester_ip
-		) . "\r\n";
+	if ( 'send_password_reset_from_admin' !== $context ) {
+		$requester_ip = $_SERVER['REMOTE_ADDR'];
+		if ( $requester_ip ) {
+			$message .= sprintf(
+				/* translators: %s: IP address of password reset requester. */
+				__( 'This password reset request originated from the IP address %s.' ),
+				$requester_ip
+			) . "\r\n";
+		}
 	}
 
 	/* translators: Password reset notification email subject. %s: Site title. */
