No it's not. The term undefined behavior means that anything can happen (including crashes) in the program. Here the behavior is unpredictable, meaning that one thing might happen or the other, and you cannot rely on the order of evaluation.
The big difference is that in your case, theorically you could get back on track in your program by testing which order was chosen after each call, and acting accordingly. On the other hand, once you've hit a undefined behavior case, you're screwed: it can bite you anytime, anywhere, in any way, until the program ends.