One thing that I always do when dealing with event-based programming is to not assume any particular order in events. Maybe they are using a different event dispatcher, maybe the priority for these events changed, it is simply not good to assume this order.
If you really need this specific order you should probably create a custom event that you trigger yourself. There is another solution discussed in the following question
But I don’t think that is a good one.
As a general advice, I would suggest for you not to assume order in events.