index ee2d6b9..45a4a66 100644
--- a/lwip/src/core/tcp_in.c
+++ b/lwip/src/core/tcp_in.c
@@ -843,7 +843,7 @@ tcp_process(struct tcp_pcb *pcb)
         tcp_ack_now(pcb);
         tcp_pcb_purge(pcb);
         TCP_RMV_ACTIVE(pcb);
-        pcb->state = TIME_WAIT;
+        pcb->state = CLOSED;
         TCP_REG(&tcp_tw_pcbs, pcb);
       } else {
         tcp_ack_now(pcb);
@@ -860,7 +860,7 @@ tcp_process(struct tcp_pcb *pcb)
       tcp_ack_now(pcb);
       tcp_pcb_purge(pcb);
       TCP_RMV_ACTIVE(pcb);
-      pcb->state = TIME_WAIT;
+      pcb->state = CLOSED;
       TCP_REG(&tcp_tw_pcbs, pcb);
     }
     break;
@@ -870,7 +870,7 @@ tcp_process(struct tcp_pcb *pcb)
       LWIP_DEBUGF(TCP_DEBUG, ("TCP connection closed: CLOSING %"U16_F" -> %"U16_F".\n", inseg.tcphdr->src, inseg.tcphdr->dest));
       tcp_pcb_purge(pcb);
       TCP_RMV_ACTIVE(pcb);
-      pcb->state = TIME_WAIT;
+      pcb->state = CLOSED;
       TCP_REG(&tcp_tw_pcbs, pcb);
     }
     break;
