@Wery848 Said it best in my opinion. Assuming that the program is either in state A or B at all times, you can completely avoid having the first if statement and just check if state B is active after running DoSomething(); . This also would reinforce the idea that there would only be state A and B which is not abundantly clear (for those reading your code) in your method above. This is of course entirely dependent on that fact.