diff --git a/src/mux_h1.c b/src/mux_h1.c
index b191670..65e9915 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -1782,7 +1782,7 @@
 		h1_wake_stream_for_recv(h1s);
 
 	if (conn_xprt_read0_pending(conn) && h1s && h1s->cs)
-		h1s->cs->flags |= (CS_FL_REOS|CS_FL_READ_NULL);
+		h1s->cs->flags |= CS_FL_REOS;
 	if (!b_data(&h1c->ibuf))
 		h1_release_buf(h1c, &h1c->ibuf);
 	else if (!buf_room_for_htx_data(&h1c->ibuf))
@@ -1890,7 +1890,7 @@
 		if (h1c->flags & H1C_F_CS_ERROR || conn->flags & CO_FL_ERROR)
 			flags |= CS_FL_ERROR;
 		if (conn_xprt_read0_pending(conn))
-			flags |= (CS_FL_REOS|CS_FL_READ_NULL);
+			flags |= CS_FL_REOS;
 		h1s->cs->flags |= flags;
 		h1s->cs->data_cb->wake(h1s->cs);
 	}
diff --git a/src/mux_h2.c b/src/mux_h2.c
index 506226c..ab8504e 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -1443,7 +1443,7 @@
 		flags |= CS_FL_ERR_PENDING;
 
 	if (conn_xprt_read0_pending(h2c->conn))
-		flags |= (CS_FL_REOS|CS_FL_READ_NULL);
+		flags |= CS_FL_REOS;
 
 	/* Wake all streams with ID > last */
 	node = eb32_lookup_ge(&h2c->streams_by_id, last + 1);
diff --git a/src/mux_pt.c b/src/mux_pt.c
index 74c802e..4f53920 100644
--- a/src/mux_pt.c
+++ b/src/mux_pt.c
@@ -255,7 +255,7 @@
 	if (conn_xprt_read0_pending(cs->conn)) {
 		if (ret == 0)
 			cs->flags &= ~(CS_FL_RCV_MORE | CS_FL_WANT_ROOM);
-		cs->flags |= (CS_FL_EOS|CS_FL_READ_NULL);
+		cs->flags |= CS_FL_EOS;
 	}
 	if (cs->conn->flags & CO_FL_ERROR) {
 		if (ret == 0)
@@ -298,7 +298,7 @@
 
 	ret = cs->conn->xprt->rcv_pipe(cs->conn, pipe, count);
 	if (conn_xprt_read0_pending(cs->conn))
-		cs->flags |= (CS_FL_EOS|CS_FL_READ_NULL);
+		cs->flags |= CS_FL_EOS;
 	if (cs->conn->flags & CO_FL_ERROR)
 		cs->flags |= CS_FL_ERROR;
 	return (ret);
diff --git a/src/stream_interface.c b/src/stream_interface.c
index 1d216ae..d13d695 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -594,16 +594,6 @@
 		oc->flags |= CF_WRITE_NULL;
 	}
 
-	/* The last read was received but not reported to the channel
-	 * (CS_FL_READ_NULL set but not SI_FL_READ_NULL). So do it, even if the
-	 * EOS was already reported.
-	 *
-	 * NOTE: It is a temporary fix to handle client aborts.
-	 */
-	if (cs->flags & CS_FL_READ_NULL && !(si->flags & SI_FL_READ_NULL)) {
-		si->flags |= SI_FL_READ_NULL;
-		ic->flags |= CF_READ_NULL;
-	}
 	/* Report EOI on the channel if it was reached from the mux point of
 	 * view. */
 	if ((cs->flags & CS_FL_EOI) && !(ic->flags & CF_EOI))
