OnBlockInit() is not called for the very first starting block when I first enter multiverse

The code below is written in Mod.OnLoad():
Events.OnBlockInit += new Action<Block>((Block block) => this.AddMyBehaviour(block.InternalObject));

And then, if I enter multiverse just after I launched the game, the first starting block we see won't have the OnBlockInit method called. And the rest of my code expected the initialization for the block is already done in OnBlockInit.
Did I put the code in the wrong place? If so, where should I put the code in?