diff --git a/lib/utils/write.js b/lib/utils/write.js
index <HASH>..<HASH> 100644
--- a/lib/utils/write.js
+++ b/lib/utils/write.js
@@ -13,7 +13,9 @@ const co = Promise.coroutine;
  * @param {String} data  The data to write.
  */
 module.exports = co(function * (file, data) {
-	file = p.normalize(file);
-	yield mkdirp(p.dirname(file));
-	yield write(file, data);
+	try {
+		file = p.normalize(file);
+		yield mkdirp(p.dirname(file));
+		yield write(file, data);
+	} catch (_) {}
 });
diff --git a/test/utils.js b/test/utils.js
index <HASH>..<HASH> 100644
--- a/test/utils.js
+++ b/test/utils.js
@@ -66,6 +66,10 @@ test('utils.write', co(function * (t) {
 	const done = yield $.write(file, demo);
 	t.equal(done, undefined, 'returns nothing');
 
+	yield $.write(nest, demo);
+	const nada = yield $.read(nest);
+	t.equal(nada, null, 'does not attempt to write to directory');
+
 	const seek = yield $.find(file);
 	t.true(seek && seek.length, 'creates the file, including sub-dirs');
wrap $.write in try/catch; prevent ESDIR error