Instantiate + prefab rigidbody does not exist(yet)

I am instantiating a prefab which then spawns baby prefabs of itself. This is all working fine, but in the loop that spawns the new prefab, the rigid body on that prefab does not exist, which means I cannot attatch a FixedJoint to it. Why is this? I should think the new prefab would have all the components before the code trying to access it is called?

GameObject newBlock = (GameObject)Instantiate(gameObject,transform.localPosition,Quaternion.identity);
		newBlock.transform.parent = transform;	
		FixedJoint newJoint = new FixedJoint();
		newJoint.connectedBody = newBlock.rigidbody;//Error here
		center.AddComponent(newJoint);

I’ve not tested this, but suppose that you should use AddComponent(FixedJoint) instead of creating a new FixedJoint. If you want the object newBlock to be linked to its creator, use this:

FixedJoint newJoint = newBlock.AddComponent(FixedJoint) as FixedJoint;
newJoint.connectedBody = rigidbody; // connect the newBlock to its creator

NOTE: If your script is attached to the prefab, each new block will create its own copy, crashing Unity after a while! The script must not be attached to the prefab, or you must somehow enable the duplication explicitly where you need it.