diff --git a/src/wp-admin/includes/class-wp-upgrader.php b/src/wp-admin/includes/class-wp-upgrader.php
index 40f19f8956..6c6cb5d828 100644
--- a/src/wp-admin/includes/class-wp-upgrader.php
+++ b/src/wp-admin/includes/class-wp-upgrader.php
@@ -1007,17 +1007,9 @@ class WP_Upgrader {
 	public function maintenance_mode( $enable = false ) {
 		global $wp_filesystem;
 
-		if ( ! function_exists( 'WP_Filesystem' ) ) {
-			require_once ABSPATH . '/wp-admin/includes/file.php';
-		}
-
-		ob_start();
-		$credentials = request_filesystem_credentials( '' );
-		ob_end_clean();
-
-		if ( false === $credentials || ! WP_Filesystem( $credentials ) ) {
-			wp_trigger_error( __FUNCTION__, __( 'Could not access filesystem.' ) );
-			return;
+		if ( ! $wp_filesystem ) {
+			require_once ABSPATH . 'wp-admin/includes/file.php';
+			WP_Filesystem();
 		}
 
 		$file = $wp_filesystem->abspath() . '.maintenance';