Index: src/wp-includes/class-wp.php
===================================================================
--- src/wp-includes/class-wp.php	(revision 43649)
+++ src/wp-includes/class-wp.php	(working copy)
@@ -257,13 +257,13 @@
 
 				// If we're processing a 404 request, clear the error var since we found something.
 				if ( '404' == $error ) {
-					unset( $error, $_GET['error'] );
+					unset( $error );
 				}
 			}
 
 			// If req_uri is empty or if it is a request for ourself, unset error.
 			if ( empty( $requested_path ) || $requested_file == $self || strpos( $_SERVER['PHP_SELF'], 'wp-admin/' ) !== false ) {
-				unset( $error, $_GET['error'] );
+				unset( $error );
 
 				if ( isset( $perma_query_vars ) && strpos( $_SERVER['PHP_SELF'], 'wp-admin/' ) !== false ) {
 					unset( $perma_query_vars );
@@ -364,6 +364,8 @@
 
 		if ( isset( $error ) ) {
 			$this->query_vars['error'] = $error;
+		} elseif ( ! empty( $rewrite ) ) {
+			unset( $this->query_vars['error'] );
 		}
 
 		/**
