diff --git a/include/proto/stream_interface.h b/include/proto/stream_interface.h
index c320784..c2c5310 100644
--- a/include/proto/stream_interface.h
+++ b/include/proto/stream_interface.h
@@ -330,7 +330,7 @@
 	si->flags &= ~SI_FL_WAIT_ROOM;
 	ret = channel_alloc_buffer(si_ic(si), wait);
 	if (!ret)
-		si->flags |= SI_FL_WAIT_ROOM;
+		si_cant_put(si);
 	return ret;
 }
 
diff --git a/src/stream_interface.c b/src/stream_interface.c
index f2fa791..7eb9e9c 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -756,7 +756,7 @@
 			/* stop reading */
 			if (!(si->flags & SI_FL_WAIT_ROOM)) {
 				if (!(ic->flags & CF_DONT_READ)) /* full */
-					si->flags |= SI_FL_WAIT_ROOM;
+					si_cant_put(si);
 				ic->rex = TICK_ETERNITY;
 			}
 		}
@@ -1098,6 +1098,9 @@
 	if (si->wait_event.wait_reason & SUB_CAN_RECV)
 		return 0;
 
+	/* by default nothing to deliver */
+	si_stop_put(si);
+
 	/* maybe we were called immediately after an asynchronous shutr */
 	if (ic->flags & CF_SHUTR)
 		return 1;
@@ -1165,7 +1168,7 @@
 			/* the pipe is full or we have read enough data that it
 			 * could soon be full. Let's stop before needing to poll.
 			 */
-			si->flags |= SI_FL_WAIT_ROOM;
+			si_cant_put(si);
 		}
 
 		/* splice not possible (anymore), let's go on on standard copy */
@@ -1191,13 +1194,13 @@
 		max = channel_recv_max(ic);
 
 		if (!max) {
-			si->flags |= SI_FL_WAIT_ROOM;
+			si_cant_put(si);
 			break;
 		}
 
 		ret = cs->conn->mux->rcv_buf(cs, &ic->buf, max, co_data(ic) ? CO_RFL_BUF_WET : 0);
 		if (cs->flags & CS_FL_RCV_MORE)
-			si->flags |= SI_FL_WAIT_ROOM;
+			si_cant_put(si);
 
 		if (ret <= 0)
 			break;
@@ -1219,7 +1222,7 @@
 		ic->total += ret;
 
 		if (!channel_may_recv(ic)) {
-			si->flags |= SI_FL_WAIT_ROOM;
+			si_cant_put(si);
 			break;
 		}
 
