diff --git a/parallel.js b/parallel.js
index <HASH>..<HASH> 100644
--- a/parallel.js
+++ b/parallel.js
@@ -32,6 +32,7 @@ function fastparallel (options) {
   function parallel (that, toCall, arg, done) {
     var i
     var holder = next()
+    done = done || nop
     if (toCall.length === 0) {
       done.call(that)
       released(head)
diff --git a/test.js b/test.js
index <HASH>..<HASH> 100644
--- a/test.js
+++ b/test.js
@@ -240,3 +240,22 @@ test('call the result callback when the each array is empty with no results', fu
     t.error('this should never be called')
   }
 })
+
+test('does not require a done callback', function (t) {
+  t.plan(4)
+
+  var instance = parallel()
+  var count = 0
+  var obj = {}
+
+  instance(obj, [something, something], 42)
+
+  function something (arg, cb) {
+    t.equal(obj, this)
+    t.equal(arg, 42)
+    setImmediate(function () {
+      count++
+      cb()
+    })
+  }
+})
Do not require a done callback.