diff --git a/channels/sig_analog.c b/channels/sig_analog.c index ea507fe078..fb93d5f3d9 100644 --- a/channels/sig_analog.c +++ b/channels/sig_analog.c @@ -3386,10 +3386,8 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_ /* Put them in the threeway, and flip */ analog_set_inthreeway(p, ANALOG_SUB_THREEWAY, 1); analog_set_inthreeway(p, ANALOG_SUB_REAL, 1); - if (ast_channel_state(ast) == AST_STATE_UP) { - analog_swap_subs(p, ANALOG_SUB_THREEWAY, ANALOG_SUB_REAL); - orig_3way_sub = ANALOG_SUB_REAL; - } + analog_swap_subs(p, ANALOG_SUB_THREEWAY, ANALOG_SUB_REAL); + orig_3way_sub = ANALOG_SUB_REAL; ast_queue_unhold(p->subs[orig_3way_sub].owner); analog_set_new_owner(p, p->subs[ANALOG_SUB_REAL].owner); } else {