Unet Client Spawning objects

I am having a problem with spawning objects on the client. When i am trying to spawn objects on with the host everything works fine and the client is able to see the spawned objects. But when I am trying to spawn an object with the client I get an error: ArgumentException: The thing you want to instantiate is null. I have been trying to fix this for a while now but I am unable to find the problem.

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;

public class SpawnObjects : NetworkBehaviour {

    [SyncVar]
    public GameObject building1;
    [SyncVar]
    public GameObject building2;
    public GameObject turret;
    GameObject clone;

    public Vector3 playerPos;
    Vector3 playerDirection;
    Quaternion playerRotation;
    int currentBuilding = 1;
    float timeElapsed = 0;

    // Use this for initialization
    void Start () {
        ClientScene.RegisterPrefab(building1);
        ClientScene.RegisterPrefab(building2);

    }
	
	// Update is called once per frame
	void Update () {
        timeElapsed += Time.deltaTime;

        if (Input.GetKeyDown(KeyCode.Keypad1) && timeElapsed < 120)
        {
            currentBuilding = 1;
        }
        else if (Input.GetKeyDown(KeyCode.Keypad2) && timeElapsed < 120)
        {
            currentBuilding = 2;
        }

        if(timeElapsed < 120)
        {
            PlayerShoot shoot = GetComponent<PlayerShoot>();
            shoot.timeElapsed = 0f;
            Player player = GetComponent<Player>();
            player.currentHealth = 100;
        }
        else
        {
            currentBuilding = 0;
        }

        if (Input.GetButtonDown("Fire1"))
        {
            building1 = new GameObject();
            building2 = new GameObject();
            playerPos = turret.transform.position;
            playerRotation = turret.transform.rotation;
            playerDirection = turret.transform.up;
            if (currentBuilding == 1)
            {
                CmdNetworkSpawn(building1);
            }
            else if (currentBuilding == 2)
            { 
                CmdNetworkSpawn(building2);
            }
        }
    }

    [Command]
    void CmdNetworkSpawn(GameObject test)
    {
        clone = Instantiate(test, playerPos - transform.forward * 30, playerRotation) as GameObject;
        if (isServer)
        {
            NetworkServer.Spawn(clone);
        }
        else if (isClient)
        {
            NetworkServer.SpawnWithClientAuthority(clone,base.connectionToClient);
        }
        
    }

}

If I am understanding how they have it, it has to be in a Resource folder. This is what I am using to Instantiate an object.

invItem = “Prefabs/Items/” + invItem;
GameObject lHandItem = Instantiate(Resources.Load(invItem, typeof(GameObject))) as GameObject;

Hope that helps.