diff --git a/lib/decompress-zip.js b/lib/decompress-zip.js
index <HASH>..<HASH> 100644
--- a/lib/decompress-zip.js
+++ b/lib/decompress-zip.js
@@ -45,6 +45,13 @@ DecompressZip.prototype.openFile = function () {
     return fopen(this.filename, 'r');
 };
 
+DecompressZip.prototype.closeFile = function () {
+    if (this.fd) {
+        fs.closeSync(this.fd);
+        this.fd = null;
+    }
+};
+
 DecompressZip.prototype.statFile = function (fd) {
     this.fd = fd;
     return fstat(fd);
@@ -65,7 +72,8 @@ DecompressZip.prototype.list = function () {
     })
     .fail(function (error) {
         self.emit('error', error);
-    });
+    })
+    .fin(self.closeFile.bind(self));
 
     return this;
 };
@@ -121,7 +129,8 @@ DecompressZip.prototype.extract = function (options) {
     })
     .fail(function (error) {
         self.emit('error', error);
-    });
+    })
+    .fin(self.closeFile.bind(self));
 
     return this;
 };
Close the file when we are done.