diff --git a/channels/chan_sip.c b/channels/chan_sip.c index cd09992d2e..def3620b6f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -15487,6 +15487,9 @@ static void *do_monitor(void *data) 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 */