Index: apps/app_dial.c =================================================================== --- apps/app_dial.c (revision 266098) +++ apps/app_dial.c (working copy) @@ -655,7 +655,11 @@ while (outgoing) { /* Hangup any existing lines we have open */ if (outgoing->chan && (outgoing->chan != exception)) { - if (answered_elsewhere) { + /* The exception is the channel that answered. If there is no + * exception, then nobody answered, and therefore the call + * could not have been answered elsewhere. + */ + if (exception && answered_elsewhere) { /* The flag is used for local channel inheritance and stuff */ ast_set_flag(outgoing->chan, AST_FLAG_ANSWERED_ELSEWHERE); /* This is for the channel drivers */