diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -8,11 +8,11 @@ module.exports = function (path, opts, cb) {
   var pos = 0
   return function (read) {
     fs.open(path, flags, mode, function (err, fd) {
-      if(err) return read(err)
+      if(err) return read(err, cb)
       read(null, function next (end, data) {
         if(end === true) fs.close(fd, cb)
         else if(end)     cb(end) //error!
-        else  
+        else
           if(typeof data === 'string') data = Buffer.from(data) // convert strings to buffers
           fs.write(fd, data, 0, data.length, pos, function (err, bytes) {
             if(err) read(err, function () { fs.close(fd, cb) })
cb after source is aborted