diff --git a/src/main/minio.js b/src/main/minio.js
index <HASH>..<HASH> 100644
--- a/src/main/minio.js
+++ b/src/main/minio.js
@@ -385,11 +385,12 @@ export class Client {
         this.logHTTP(reqOptions, response)
         cb(null, response)
       })
-      pipesetup(stream, req)
-        .on('error', e => {
+      let pipe = pipesetup(stream, req)
+      pipe.on('error', e => {
           this.logHTTP(reqOptions, null, e)
           cb(e)
         })
+      req.once('finish', () => pipe.removeAllListeners('error'));
     }
     if (region) return _makeRequest(null, region)
     this.getBucketRegion(options.bucketName, _makeRequest)
Remove all listeners on pipe once finished. (#<I>)