diff --git a/src/CacheMiddleware.php b/src/CacheMiddleware.php
index <HASH>..<HASH> 100644
--- a/src/CacheMiddleware.php
+++ b/src/CacheMiddleware.php
@@ -135,6 +135,11 @@ class CacheMiddleware
             // If cache => return new FulfilledPromise(...) with response
             $cacheEntry = $this->cacheStorage->fetch($request);
             if ($cacheEntry instanceof CacheEntry) {
+                $body = $cacheEntry->getResponse()->getBody();
+                if ($body->tell() > 0) {
+                    $body->rewind();
+                }
+
                 if ($cacheEntry->isFresh()
                     && ($minFreshCache === null || $cacheEntry->getStaleAge() + (int)$minFreshCache <= 0)
                 ) {
#<I> Rewind the body (of a cached response)