diff --git a/src/Stream/Stream.php b/src/Stream/Stream.php
index <HASH>..<HASH> 100644
--- a/src/Stream/Stream.php
+++ b/src/Stream/Stream.php
@@ -26,7 +26,12 @@ final class Stream implements StreamInterface
         }
 
         $this->resource = $resource;
-        $this->rewind();
+        $meta = stream_get_meta_data($resource);
+
+        if ($meta['seekable']) {
+            $this->rewind();
+        }
+
         $stats = fstat($resource);
 
         if (isset($stats['size'])) {
only rewind if the stream is seekable