I know that, it will just (at least) cause you one extra loop around before you end up in the timeout situation. Problem is also that it is still dependent on not having an outMsgEvent... 
I thought it's better to go straight into the timeout branch.