It's kind of funny that way with MCU programming, not so much with general computing since programs are so much bigger and loops are often transparent with object oriented programming. I'm not an expert, but I've done a number of projects that required MCU programming. In some cases, I find myself only running through a code block when a certain condition occurs and other times I find myself running through code block unconditionally even setting bits or register values that have already been set. Intuitively, it doesn't seem right, but functionally, it doesn't matter one bit (so to speak, hehe).
In any case, I wouldn't get hung up on it. I don't think there's anything wrong with redundancy in your code if you can't do a task simply without it. Just let it run the way it runs.