diff --git a/contrib/debug/flags.c b/contrib/debug/flags.c
index 7b938a0..0989e3b 100644
--- a/contrib/debug/flags.c
+++ b/contrib/debug/flags.c
@@ -116,7 +116,6 @@
 	SHOW_FLAG(f, CO_FL_ERROR);
 	SHOW_FLAG(f, CO_FL_SOCK_WR_SH);
 	SHOW_FLAG(f, CO_FL_SOCK_RD_SH);
-	SHOW_FLAG(f, CO_FL_DATA_WR_SH);
 	SHOW_FLAG(f, CO_FL_ADDR_TO_SET);
 	SHOW_FLAG(f, CO_FL_ADDR_FROM_SET);
 	SHOW_FLAG(f, CO_FL_WAIT_ROOM);
diff --git a/include/proto/connection.h b/include/proto/connection.h
index 8c0301c..9be862b 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -438,7 +438,6 @@
 
 static inline void conn_data_shutw(struct connection *c)
 {
-	c->flags |= CO_FL_DATA_WR_SH;
 	__conn_data_stop_send(c);
 
 	/* clean data-layer shutdown */
@@ -448,7 +447,6 @@
 
 static inline void conn_data_shutw_hard(struct connection *c)
 {
-	c->flags |= CO_FL_DATA_WR_SH;
 	__conn_data_stop_send(c);
 
 	/* unclean data-layer shutdown */
diff --git a/include/types/connection.h b/include/types/connection.h
index a24b858..9724b2c 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -97,10 +97,10 @@
 
 	/* unused : 0x00004000 */
 	/* unused : 0x00008000 */
+	/* unused : 0x00010000 */
+	/* unused : 0x00020000 */
 
 	/* flags used to remember what shutdown have been performed/reported */
-	/* unused : 0x00010000 */
-	CO_FL_DATA_WR_SH    = 0x00020000,  /* DATA layer asked for shutw */
 	CO_FL_SOCK_RD_SH    = 0x00040000,  /* SOCK layer was notified about shutr/read0 */
 	CO_FL_SOCK_WR_SH    = 0x00080000,  /* SOCK layer asked for shutw */
 
diff --git a/src/checks.c b/src/checks.c
index db805e8..ba78308 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -744,7 +744,7 @@
 		goto out_wakeup;
 	}
 
-	if (conn->flags & (CO_FL_SOCK_WR_SH | CO_FL_DATA_WR_SH)) {
+	if (conn->flags & CO_FL_SOCK_WR_SH) {
 		/* if the output is closed, we can't do anything */
 		conn->flags |= CO_FL_ERROR;
 		chk_report_conn_err(conn, 0, 0);
@@ -2756,7 +2756,7 @@
 				check->bi->i = 0;
 			}
 
-			if (conn->flags & (CO_FL_SOCK_WR_SH | CO_FL_DATA_WR_SH)) {
+			if (conn->flags & CO_FL_SOCK_WR_SH) {
 				conn->flags |= CO_FL_ERROR;
 				chk_report_conn_err(conn, 0, 0);
 				goto out_end_tcpcheck;
diff --git a/src/stream_interface.c b/src/stream_interface.c
index c19c146..c3e2c53 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -633,7 +633,7 @@
 	/* when we're here, we already know that there is no spliced
 	 * data left, and that there are sendable buffered data.
 	 */
-	if (!(conn->flags & (CO_FL_ERROR | CO_FL_SOCK_WR_SH | CO_FL_DATA_WR_SH | CO_FL_HANDSHAKE))) {
+	if (!(conn->flags & (CO_FL_ERROR | CO_FL_SOCK_WR_SH | CO_FL_HANDSHAKE)) && !(oc->flags & CF_SHUTW)) {
 		/* check if we want to inform the kernel that we're interested in
 		 * sending more data after this call. We want this if :
 		 *  - we're about to close after this last send and want to merge
@@ -648,8 +648,7 @@
 
 		if ((!(oc->flags & (CF_NEVER_WAIT|CF_SEND_DONTWAIT)) &&
 		     ((oc->to_forward && oc->to_forward != CHN_INFINITE_FORWARD) ||
-		      (oc->flags & CF_EXPECT_MORE))) ||
-		    ((oc->flags & (CF_SHUTW|CF_SHUTW_NOW)) == CF_SHUTW_NOW))
+		      (oc->flags & CF_EXPECT_MORE))) || (oc->flags & CF_SHUTW_NOW))
 			send_flag |= CO_SFL_MSG_MORE;
 
 		if (oc->flags & CF_STREAMER)
