Index: asterisk-1.6.1.0~dfsg_devel/channels/chan_sip.c =================================================================== --- asterisk-1.6.1.0~dfsg_devel.orig/channels/chan_sip.c 2009-10-14 12:03:08.000000000 +0200 +++ asterisk-1.6.1.0~dfsg_devel/channels/chan_sip.c 2009-10-14 12:03:11.000000000 +0200 @@ -5333,15 +5333,12 @@ * to lock the bridge. This may get hairy... */ while (bridge && ast_channel_trylock(bridge)) { - struct ast_channel *chan = p->owner; sip_pvt_unlock(p); do { - /* Use chan since p->owner could go NULL on us - * while p is unlocked - */ - CHANNEL_DEADLOCK_AVOIDANCE(chan); + /* Use oldowner since p->owner is already NULL */ + CHANNEL_DEADLOCK_AVOIDANCE(oldowner); } while (sip_pvt_trylock(p)); - bridge = p->owner ? ast_bridged_channel(p->owner) : NULL; + bridge = ast_bridged_channel(oldowner); } if (p->rtp)