fix else branch of effect_free