diff --git a/composer.json b/composer.json
index 460581b6766e2e210d401214c939f841434465e4..d1a7227af3144fc11602cdc4bda4362b272a96b6 100644
--- a/composer.json
+++ b/composer.json
@@ -35,6 +35,7 @@
     "dnoegel/php-xdg-base-dir": "^0.1.0",
     "doctrine/cache": "^1.8",
     "guzzlehttp/guzzle": "^6.3",
+    "guzzlehttp/psr7": "^1.6",
     "kevinrob/guzzle-cache-middleware": "^3.2",
     "ocramius/package-versions": "^1.4",
     "pimple/pimple": "^3.2",
diff --git a/composer.lock b/composer.lock
index 815e7606ed291ca9b2586f5b691682a909e584e3..7eb89fd4ec3129f531b308debf25d79094249b48 100644
Binary files a/composer.lock and b/composer.lock differ
diff --git a/src/Builder/Builder.php b/src/Builder/Builder.php
index 2e0ae2a92428df574e8379dae7d2f78834fbf8e4..a40e17895c7a0b197d3ea7705d3ff86ab80cb61f 100644
--- a/src/Builder/Builder.php
+++ b/src/Builder/Builder.php
@@ -152,10 +152,10 @@ class Builder implements BuilderInterface, LoggerAwareInterface
 
             $sourceStream = StreamWrapper::getResource($response->getBody());
             try {
-                $destStream = fopen($dest, 'wb');
+                $destStream = \Safe\fopen($dest, 'wb');
                 try {
-                    $n = \Safe\stream_copy_to_stream($sourceStream, $destStream);
-                    $this->logger->debug("received $n bytes from $source");
+                    $size = \Safe\stream_copy_to_stream($sourceStream, $destStream);
+                    $this->logger->debug("received $size bytes from $source");
                 } finally {
                     fclose($destStream);
                 }