The if statement will never evaluate to true because fmc_member will always be null fdial_member_t *fmc_member = NULL; switch_core_session_t *fmc_session = NULL; if ((alien) && (switch_test_flag(alien->member, MFLAG_READY)) && (fmc_member) && (switch_test_flag(fmc_member, MFLAG_READY))) { switch_mutex_lock(fmc_member->lock); if ((fmc_session = fmc_member->session)) { FDP_MDEBUG(member, "Unhold first parked alien member because active alien hung up ...");