Index: src/wp-admin/includes/ms.php
===================================================================
--- src/wp-admin/includes/ms.php	(revision 29825)
+++ src/wp-admin/includes/ms.php	(working copy)
@@ -31,7 +31,7 @@
 	if ( $space_left < $file_size )
 		$file['error'] = sprintf( __( 'Not enough space to upload. %1$s KB needed.' ), number_format( ($file_size - $space_left) /1024 ) );
 	if ( $file_size > ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) )
-		$file['error'] = sprintf(__('This file is too big. Files must be less than %1$s KB in size.'), get_site_option( 'fileupload_maxk', 1500 ) );
+		$file['error'] = sprintf( __( 'This file is too big. Files must be less than %1$s MB in size.' ), ceil( get_site_option( 'fileupload_maxk', 1500 ) / 1024 ) );
 	if ( upload_is_user_over_quota( false ) ) {
 		$file['error'] = __( 'You have used your space quota. Please delete files before uploading.' );
 	}
Index: src/wp-admin/network/settings.php
===================================================================
--- src/wp-admin/network/settings.php	(revision 29825)
+++ src/wp-admin/network/settings.php	(working copy)
@@ -59,9 +59,16 @@
 	);
 
 	foreach ( $options as $option_name ) {
-		if ( ! isset($_POST[$option_name]) )
+		if ( ! isset( $_POST[ $option_name ] ) ) {
 			continue;
-		$value = wp_unslash( $_POST[$option_name] );
+		}
+
+		// Convert the saved file upload maximum from MB to KB before storing.
+		if ( 'fileupload_maxk' === $option_name ) {
+			$value = absint( wp_unslash( $_POST[ $option_name] ) * 1024 );
+		} else {
+			$value = wp_unslash( $_POST[ $option_name ] );
+		}
 		update_site_option( $option_name, $value );
 	}
 
@@ -269,7 +276,7 @@
 
 			<tr>
 				<th scope="row"><label for="fileupload_maxk"><?php _e( 'Max upload file size' ) ?></label></th>
-				<td><?php printf( _x( '%s KB', 'File size in kilobytes' ), '<input name="fileupload_maxk" type="number" min="0" style="width: 100px" id="fileupload_maxk" value="' . esc_attr( get_site_option( 'fileupload_maxk', 300 ) ) . '" />' ); ?></td>
+				<td><?php printf( _x( '%s MB', 'File size in MB' ), '<input name="fileupload_maxk" type="number" min="0" step="1" style="width: 100px" id="fileupload_maxk" value="' . ceil( get_site_option( 'fileupload_maxk', 1500 ) / 1024 ) . '" />' ); ?></td>
 			</tr>
 		</table>
 
Index: src/wp-includes/ms-functions.php
===================================================================
--- src/wp-includes/ms-functions.php	(revision 29825)
+++ src/wp-includes/ms-functions.php	(working copy)
@@ -1880,7 +1880,7 @@
 		return $upload;
 
 	if ( strlen( $upload['bits'] )  > ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) )
-		return sprintf( __( 'This file is too big. Files must be less than %d KB in size.' ) . '<br />', get_site_option( 'fileupload_maxk', 1500 ));
+		return sprintf( __( 'This file is too big. Files must be less than %d MB in size.' ) . '<br />', ceil( get_site_option( 'fileupload_maxk', 1500 ) / 1024 ) );
 
 	return $upload;
 }
