diff --git a/include/proto/connection.h b/include/proto/connection.h
index 16103b7..a2580f1 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -598,6 +598,7 @@
 {
 	cs->obj_type = OBJ_TYPE_CS;
 	cs->flags = CS_FL_NONE;
+	LIST_INIT(&cs->wait_list.list);
 	LIST_INIT(&cs->send_wait_list);
 	cs->conn = conn;
 }
@@ -663,6 +664,8 @@
 /* Releases a conn_stream previously allocated by cs_new() */
 static inline void cs_free(struct conn_stream *cs)
 {
+	if (cs->wait_list.task)
+		tasklet_free(cs->wait_list.task);
 	pool_free(pool_head_connstream, cs);
 }
 
@@ -681,6 +684,11 @@
 	if (!likely(cs))
 		return NULL;
 
+	cs->wait_list.task = tasklet_new();
+	if (!likely(cs->wait_list.task)) {
+		cs_free(cs);
+		return NULL;
+	}
 	if (!conn) {
 		conn = conn_new();
 		if (!likely(conn)) {
diff --git a/include/types/connection.h b/include/types/connection.h
index de0c32a..9a57fce 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -307,7 +307,6 @@
 struct mux_ops {
 	int  (*init)(struct connection *conn);        /* early initialization */
 	void (*recv)(struct connection *conn);        /* mux-layer recv callback */
-	void (*send)(struct connection *conn);        /* mux-layer send callback */
 	int  (*wake)(struct connection *conn);        /* mux-layer callback to report activity, mandatory */
 	void (*update_poll)(struct conn_stream *cs);  /* commit cs flags to mux/conn */
 	size_t (*rcv_buf)(struct conn_stream *cs, struct buffer *buf, size_t count, int flags); /* Called from the upper layer to get data */
@@ -334,7 +333,6 @@
  */
 struct data_cb {
 	void (*recv)(struct conn_stream *cs);  /* data-layer recv callback */
-	void (*send)(struct conn_stream *cs);  /* data-layer send callback */
 	int  (*wake)(struct conn_stream *cs);  /* data-layer callback to report activity */
 	int (*subscribe)(struct conn_stream *cs, int event_type, void *param); /* Subscribe to events, such as "being able to send" */
 	char name[8];                           /* data layer name, zero-terminated */
@@ -370,6 +368,7 @@
 	enum obj_type obj_type;              /* differentiates connection from applet context */
 	unsigned int flags;                  /* CS_FL_* */
 	struct connection *conn;             /* xprt-level connection */
+	struct wait_list wait_list;          /* We're in a wait list for send */
 	struct list send_wait_list;          /* list of tasks to wake when we're ready to send */
 	void *data;                          /* pointer to upper layer's entity (eg: stream interface) */
 	const struct data_cb *data_cb;       /* data layer callbacks. Must be set before xprt->init() */
