diff --git a/src/main/java/reactor/ipc/netty/channel/ChannelOperationsHandler.java b/src/main/java/reactor/ipc/netty/channel/ChannelOperationsHandler.java index 78faadaac1..bd7d39fcf4 100755 --- a/src/main/java/reactor/ipc/netty/channel/ChannelOperationsHandler.java +++ b/src/main/java/reactor/ipc/netty/channel/ChannelOperationsHandler.java @@ -291,7 +291,9 @@ ChannelFuture doWrite(Object msg, ChannelPromise promise, PublisherSender inner) pendingBytes = 0L; ChannelFuture future = ctx.write(msg, promise); - if (flushOnEachWithEventLoop && ctx.channel().isWritable()) { + if (flushOnEachWithEventLoop && + !(inner == null && pendingWrites.isEmpty()) && + ctx.channel().isWritable()) { scheduleFlush(); } else {