diff -urN asterisk-1.4.22-orig/channels/chan_sip.c asterisk-1.4.22/channels/chan_sip.c --- asterisk-1.4.22-orig/channels/chan_sip.c 2008-09-08 23:10:10.000000000 +0200 +++ asterisk-1.4.22/channels/chan_sip.c 2008-10-31 00:56:15.000000000 +0100 @@ -14246,7 +14246,9 @@ ast_mutex_unlock(&p->lock); if (p->refer->refer_call) { ast_mutex_unlock(&p->refer->refer_call->lock); - ast_channel_unlock(p->refer->refer_call->owner); + if(p->refer->refer_call->owner) { + ast_channel_unlock(p->refer->refer_call->owner); + } } p->invitestate = INV_COMPLETED; return -1;