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
@@ -5,7 +5,7 @@
 // assertions everywhere to make sure that we are not dealing with a ZIP type
 // that I haven't designed for. Things like spanning archives, non-DEFLATE
 // compression, encryption, etc.
-var fs = require('fs');
+var fs = require('graceful-fs');
 var Q = require('q');
 var path = require('path');
 var util = require('util');
diff --git a/lib/extractors.js b/lib/extractors.js
index <HASH>..<HASH> 100644
--- a/lib/extractors.js
+++ b/lib/extractors.js
@@ -2,7 +2,7 @@ var stream = require('stream');
 if (!stream.Readable) {
     var stream = require('readable-stream');
 }
-var fs = require('fs');
+var fs = require('graceful-fs');
 var Q = require('q');
 var path = require('path');
 var zlib = require('zlib');
diff --git a/package.json b/package.json
index <HASH>..<HASH> 100644
--- a/package.json
+++ b/package.json
@@ -56,6 +56,7 @@
     "binary": "~0.3.0",
     "touch": "0.0.2",
     "readable-stream": "~1.1.8",
-    "nopt": "~2.2.0"
+    "nopt": "~2.2.0",
+    "graceful-fs": "~2.0.3"
   }
 }
Switched to graceful-fs to avoid EMFILE errors