Call tail only if necessary