OnPhotonSerializeView and SetActive

Options
Hi,

I have a player spawn in with with 2 weapons as a child of a weapon locator, one not active and the other active. When the player switches weapons the other disables with set active. I'm not sure if this is the right way of doing it but nothing happens. I have my photonview and script on a parent object and it is observing it. Can anyone help?

Thanks!
    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        if (stream.isWriting)
        {
            Debug.Log("Is Writing");
            stream.SendNext(Weapon[ActiveWeapon].activeSelf);
        }
        else
        {
            Debug.Log("Is Reading");
            Weapon[ActiveWeapon].SetActive((bool)stream.ReceiveNext());
        }
    }
    void ChangeWeapon()
    {
        lastWeaponChange = Time.time;

        if (Weapon[0] != null && Weapon[1] != null)
        {
            Weapon[ActiveWeapon].GetComponent<PrWeapon>().LaserSight.enabled = false;
            Weapon[ActiveWeapon].SetActive(false);
            Debug.Log(Weapon[ActiveWeapon]);
            if (ActiveWeapon == 0)
            {
                ActiveWeapon = 1;
            }

            else
            {
                ActiveWeapon = 0;
            }
            InitializeWeapons();
            Weapon[ActiveWeapon].GetComponent<PrWeapon>().UpdateWeaponGUI(HUDWeaponPicture);
        }
       
    }