Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 18885)
+++ wp-includes/functions.php	(working copy)
@@ -3275,13 +3275,49 @@
  * Flush all output buffers for PHP 5.2.
  *
  * Make sure all output buffers are flushed before our singletons our destroyed.
- *
+ * Only use $disable_compression for pages that need to be updated continuously, like updating the core,
+ * or installing plugins, etc.
+ * 
+ * Turn off compression - make sure to flush the buffer BEFORE
+ * turning off compression, see comment from Sam Yong
+ * @link http://php.net/manual/en/function.ob-end-clean.php
+ * 
+ * Turn off mod_deflate
+ * @link http://httpd.apache.org/docs/2.2/env.html#no-gzip
+ * 
+ * @param bool $disable_compression Turn off zlib / gzip compression, attempt to defeat chunking.
+ * @return void
  * @since 2.2.0
  */
-function wp_ob_end_flush_all() {
-	$levels = ob_get_level();
-	for ($i=0; $i<$levels; $i++)
-		ob_end_flush();
+function wp_ob_end_flush_all($disable_compression = false) {
+
+    // Clean the output buffer
+    $levels = ob_get_level(); 
+    for ($i=0; $i<$levels; $i++) 
+        ob_end_flush();
+
+    if ( $disable_compression ) {
+        if ( !headers_sent() && ini_get('zlib.output_handler') ) {
+                ini_set('zlib.output_handler', '');
+                ini_set('zlib.output_compression', 0);
+        }
+
+        // Tell apache to send an uncompressed non-chunked response
+        if ( function_exists('apache_setenv') ) {
+                apache_setenv( 'no-gzip', '1' );
+        }
+
+        // Turn off any default output handlers
+        ini_set('output_handler', '');
+        ini_set('output_buffering', false);
+        ini_set('implicit_flush', true);
+
+        // Pad the output by a 4K block just to make sure that whatever
+        // apache/php considers a "chunk" is sent
+        // 8 chars x 512 repetitions = 4,096 chars
+        echo str_repeat('<!-- -->', 512);
+        flush();
+    }
 }
 
 /**
Index: wp-admin/includes/misc.php
===================================================================
--- wp-admin/includes/misc.php	(revision 18885)
+++ wp-admin/includes/misc.php	(working copy)
@@ -271,8 +271,7 @@
 			$message = $message->get_error_message();
 	}
 	echo "<p>$message</p>\n";
-	wp_ob_end_flush_all();
-	flush();
+	wp_ob_end_flush_all(true);
 }
 
 function wp_doc_link_parse( $content ) {
Index: wp-admin/includes/class-wp-upgrader.php
===================================================================
--- wp-admin/includes/class-wp-upgrader.php	(revision 18885)
+++ wp-admin/includes/class-wp-upgrader.php	(working copy)
@@ -1239,8 +1239,7 @@
 	}
 
 	function flush_output() {
-		wp_ob_end_flush_all();
-		flush();
+		wp_ob_end_flush_all(true);
 	}
 }
 
