SendMessage is running before Start

I am instancing and object then sending a message to the new instance. I added some debug messages with Time.time and it appears that SendMessage runs before Start() in the same frame. This is a problem since Start() will often be used to initialize something. In my case, it is a something which I need to be available when SendMessage triggers a call.

Is this the expected behaviour or a bug?

Shouldn’t Start() be the first call the frame after instanciation? The wiki doesn’t have this information here: unifycommunity.com

Start() is called on the next frame, but SendMessage() is delivered immediately. Awake() and OnEnable() are called before Instantiate() returns, so if you can sufficiently initialize the object there, do that.