diff --git a/src/wp-login.php b/src/wp-login.php
index e02208ae56..b0117ed8fa 100644
--- a/src/wp-login.php
+++ b/src/wp-login.php
@@ -28,9 +28,9 @@ if ( force_ssl_admin() && ! is_ssl() ) {
* @param string $title Optional. WordPress login Page title to display in the `
` element.
* Default 'Log In'.
* @param string $message Optional. Message to display in header. Default empty.
- * @param WP_Error $wp_error Optional. The error to pass. Default empty.
+ * @param WP_Error $wp_error Optional. The error to pass. Default is a WP_Error instance.
*/
-function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
+function login_header( $title = 'Log In', $message = '', $wp_error = null ) {
global $error, $interim_login, $action;
// Don't index any of these forms
@@ -38,7 +38,7 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
add_action( 'login_head', 'wp_login_viewport_meta' );
- if ( empty( $wp_error ) ) {
+ if ( ! is_wp_error( $wp_error ) ) {
$wp_error = new WP_Error();
}