diff --git a/wp-includes/formatting.php b/wp-includes/formatting.php
index d031656d43..4171a570e0 100644
--- a/wp-includes/formatting.php
+++ b/wp-includes/formatting.php
@@ -2006,6 +2006,8 @@ function sanitize_file_name( $filename ) {
 		$filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
 	}
 
+	$filename = str_replace( array( '%20', '+' ), '-', $filename );
+
 	/**
 	 * Filters the list of characters to remove from a filename.
 	 *
@@ -2017,7 +2019,6 @@ function sanitize_file_name( $filename ) {
 	$special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw );
 
 	$filename = str_replace( $special_chars, '', $filename );
-	$filename = str_replace( array( '%20', '+' ), '-', $filename );
 	$filename = preg_replace( '/[\r\n\t -]+/', '-', $filename );
 	$filename = trim( $filename, '.-_' );
 
