Changing sprites in Update an overkill?

I am making a game in which, when the player gets a bonus, the sprite of his body changes while the bonus is active. When the bonus expires the body sprite should be the initial one. So inside the Update function I have made the change and it works. But the way I have done it makes me having the sprite of the body change in every single frame… I am wondering if this is an overkill and if there is an alternative approach to the matter.

Create animation for bonus. Set boolean variable that if true goes to bonus animation, then when false, returns to normal. change true or false after time via script.