Bug fix: if_then and else both run when expression is false