diff --git a/lib/internal/streams/writable.js b/lib/internal/streams/writable.js index e43187d7705044..b960dbdaeda233 100644 --- a/lib/internal/streams/writable.js +++ b/lib/internal/streams/writable.js @@ -707,7 +707,7 @@ Writable.prototype.end = function(chunk, encoding, cb) { function needFinish(state) { return ( - // State is ended && constructed but not destroyed, finished, writing, errorEmitted or closedEmitted + // State is ended && constructed but not destroyed, finished, writing, errorEmitted or closedEmitted state.state & ( kEnding | kDestroyed | @@ -716,7 +716,7 @@ function needFinish(state) { kWriting | kErrorEmitted | kCloseEmitted - ) !== kEnding | kConstructed && + ) !== (kEnding | kConstructed) && state.length === 0 && !state.errored && state.buffered.length === 0);