diff --git a/src/wp-login.php b/src/wp-login.php
index ace097d9c0..833a8f547c 100644
--- a/src/wp-login.php
+++ b/src/wp-login.php
@@ -363,7 +363,8 @@ function wp_login_viewport_meta() {
  * @return bool|WP_Error True: when finish. WP_Error on error
  */
 function retrieve_password() {
-	$errors = new WP_Error();
+	$errors    = new WP_Error();
+	$user_data = false;
 
 	if ( empty( $_POST['user_login'] ) || ! is_string( $_POST['user_login'] ) ) {
 		$errors->add( 'empty_username', __( '<strong>ERROR</strong>: Enter a username or email address.' ) );
@@ -380,13 +381,15 @@ function retrieve_password() {
 	/**
 	 * Fires before errors are returned from a password reset request.
 	 *
+	 * @param WP_Error      $errors    A WP_Error object containing any errors generated
+	 *                                 by using invalid credentials.
+	 *
+	 * @param WP_User|false $user_data false if user not found else WP_User object.
+	 *
 	 * @since 2.1.0
 	 * @since 4.4.0 Added the `$errors` parameter.
-	 *
-	 * @param WP_Error $errors A WP_Error object containing any errors generated
-	 *                         by using invalid credentials.
 	 */
-	do_action( 'lostpassword_post', $errors );
+	do_action( 'lostpassword_post', $errors, $user_data );
 
 	if ( $errors->has_errors() ) {
 		return $errors;
