--- ./channels/chan_sip.c~ 2007-12-13 12:37:37.000000000 +0000 +++ ./channels/chan_sip.c 2007-12-13 12:37:39.000000000 +0000 @@ -15402,6 +15402,9 @@ sipsock_read_id = ast_io_change(io, sipsock_read_id, sipsock, NULL, 0, NULL); else sipsock_read_id = ast_io_add(io, sipsock, sipsock_read, AST_IO_IN, NULL); + } else if (sipsock_read_id) { + ast_io_remove(io, sipsock_read_id); + sipsock_read_id = NULL; } } /* Check for interfaces needing to be killed */