diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c index d0fdda2432..01adbacbe3 100644 --- a/apps/app_chanspy.c +++ b/apps/app_chanspy.c @@ -370,7 +370,9 @@ static int channel_spy(struct ast_channel *chan, struct ast_channel *spyee, int /* If a channel still exists on our spy structure then we need to remove ourselves */ if (csth.spy.chan) { csth.spy.status = CHANSPY_DONE; + ast_channel_lock(csth.spy.chan); ast_channel_spy_remove(csth.spy.chan, &csth.spy); + ast_channel_unlock(csth.spy.chan); } ast_channel_spy_free(&csth.spy);