diff --git a/lib/responder.js b/lib/responder.js
index <HASH>..<HASH> 100644
--- a/lib/responder.js
+++ b/lib/responder.js
@@ -557,7 +557,15 @@ MultipartDispatcher.prototype.objectStream = function dispatchMultipartObjectStr
   };
 
   var drainListener = function objectDrainListener() {
-    response.resume();
+    if (!hasEnded) {
+      response.resume();
+      if (partReaderQueue.hasItem()) {
+        var partRead = concatStream(partFinisher);
+        partRead.on('error', errorListener);
+        var partReadStream = partReaderQueue.getFirst();
+        partReadStream.pipe(partRead);
+      }
+    }
   };
 
   var parser = new Dicer({boundary: boundary});
Update drainListener for multipart object stream dispatch

- Check that response hasn't ended before calling resume()
- After resuming, kick off part processing if queue has item