Having problems with PhotonNetwork.Instantiate

I am having problems creating view IDs. I am using PhotonNetwork.Instantiate to create a player.

All I do in my level is have a button called start.

If there are no rooms it creates one - if there is a room it joins it. (I am the only person using this currently)

Then - on the OnJoinedRoom call I create the player with
PhotonNetwork.Instantiate(player, new Vector3(0.0f, 1.5f, 0.0f), Quaternion.identity, 0);

The player has a PhotonView attached observing a script. In that script OnPhotonSerializeView is hit but the stream.isWriting is always true - it never reads.

I also get a warning - Received OnSerialization for view ID 1000. We have no such PhotonView.

It appears that the view ID's are not syncronised - but I thought that Instansiate took care of that??

Is there a common way round this? I've tried using allocateviewid but that seems to have the same problem? So I've been trying to do things identically to the worker demo.

The crazy thing is - I had everything working yesterday but even my backup seems to have stopped working?