Transition only when needed