diff --git a/server/index.php b/server/index.php
index 3ee8db1d40dcf0dcd9ccda5abd3ad0b63e7d806c..8d237aefa30cf95fcc8505273ed71580dfac3eae 100644
--- a/server/index.php
+++ b/server/index.php
@@ -27,16 +27,18 @@ foreach ($_SERVER as $k => $v) {
 
 $json = json_encode($vars, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
 
+header('Content-Type: application/json', true);
 
 switch ($vars['REQUEST_URI']) {
     case '/long-to-execute':
+        flush();
         sleep(5);
         break;
     case '/faster':
+        flush();
         sleep(1);
         break;
 }
 
-header('Content-Type: application/json', true);
 
 echo $json;
diff --git a/test2.php b/test2.php
index 42e223bfde8e3202d18653a394e18aeba4f92a13..140bc27a626bf134da4bffbb377023ca3281caef 100644
--- a/test2.php
+++ b/test2.php
@@ -13,11 +13,12 @@ $response2 = $response = $client->request('GET', 'http://localhost:8001/faster')
 $stream2 = $response2->toStream();
 stream_set_blocking($stream2, 0);
 
+$originalRead = [$stream1, $stream2];
 $write = [];
 $except = [];
 do {
-    $read = [$stream1, $stream2];
-    $foo = stream_select($read, $write, $except, null, 0);
+    $read = $originalRead;
+    $foo = @stream_select($read, $write, $except, null, 0);
 
     foreach ($read as $item) {
         var_dump(stream_get_contents($item));
@@ -25,8 +26,14 @@ do {
 
     echo "Stream 1: \n";
     var_dump(\feof($stream1));
+    if (\feof($stream1)) {
+        unset($originalRead[0]);
+    }
 
     echo "Stream 2: \n";
     var_dump(\feof($stream2));
-} while (!\feof($stream1) && !\feof($stream2)); // while streams are not finished
+    if (\feof($stream1)) {
+        unset($originalRead[1]);
+    }
+} while (!\feof($stream1) || !\feof($stream2)); // while streams are not finished