diff --git a/src/system/kernel/port.cpp b/src/system/kernel/port.cpp index d9243f7eed..87633200ac 100644 --- a/src/system/kernel/port.cpp +++ b/src/system/kernel/port.cpp @@ -1301,7 +1301,7 @@ writev_port_etc(port_id id, int32 msgCode, const iovec* msgVecs, locker.Lock(); - if (sPorts[slot].id != id) { + if (sPorts[slot].id != id || is_port_closed(slot)) { // the port is no longer there T(Write(sPorts[slot], 0, 0, B_BAD_PORT_ID)); return B_BAD_PORT_ID;