Remote host-Player sprite not shown?

I am trying to understand UNET and developing a very simple card game, just to see if it works.

I just realized that when i start the host in the editor (local) all works fine. However, when i generate a client and start that as a host none of the players sprite is showed on the remote. The actual player works so i can click on objects etc.

I have removed all scripts from the player and somewhat isolated the “problem” to the NetworkManager script, see below. I cannot identify where the problem is and really need help.

Summary: Players sprites are only displayed on the host, when the host is in the editor.

Here is the script:

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


public class MsgTypes
{
    public const short PlayerPrefab = MsgType.Highest + 1;

    public class PlayerPrefabMsg : MessageBase
    {
        public short controllerID;  
        public short prefabIndex;
    }
}

public class MyNetworkManager : NetworkManager {

    private int colorNumber;

    // in the Network Manager component, you must put your player prefabs
    // in the Spawn Info -> Registered Spawnable Prefabs section
    public short playerPrefabIndex;

    public UNET_SyncListEngine _syncEngine;


    private GameObject go;


    public override void OnStartServer()
    {
        NetworkServer.RegisterHandler(MsgTypes.PlayerPrefab, OnResponsePrefab);
        base.OnStartServer();
    }

    public override void OnClientConnect(NetworkConnection conn)
    {
        client.RegisterHandler(MsgTypes.PlayerPrefab, OnRequestPrefab);
        base.OnClientConnect(conn);

        // Register the cards
        foreach (string aSTR in MP_CardsAndConversions.frontFullCardDeck) {
            go = Resources.Load (aSTR) as GameObject;
            ClientScene.RegisterPrefab (go);
        }

        go = Resources.Load ("_BackSide") as GameObject;
        ClientScene.RegisterPrefab (go);

        go = Resources.Load ("_cardBackRed") as GameObject;
        ClientScene.RegisterPrefab (go);

        go = Resources.Load ("_cardBackBlue") as GameObject;
        ClientScene.RegisterPrefab (go);

        go = Resources.Load ("_cardBackGreen") as GameObject;
        ClientScene.RegisterPrefab (go);

        go = Resources.Load ("_cardBackYellow") as GameObject;
        ClientScene.RegisterPrefab (go);

    }



    private void OnRequestPrefab(NetworkMessage netMsg)
    {

        MsgTypes.PlayerPrefabMsg msg = new MsgTypes.PlayerPrefabMsg();
        msg.controllerID = netMsg.ReadMessage<MsgTypes.PlayerPrefabMsg>().controllerID;
        msg.prefabIndex = playerPrefabIndex;
        client.Send(MsgTypes.PlayerPrefab, msg);

        // Set wallet button on or off
        //
        string checkString = PlayerPrefs.GetString("setup_tgl_UseCoinsInNetworkMultiplayerGame");
        if (checkString == "")
            checkString = "FALSE";

    }

    private void OnResponsePrefab(NetworkMessage netMsg)
    {
        MsgTypes.PlayerPrefabMsg msg = netMsg.ReadMessage<MsgTypes.PlayerPrefabMsg>();
        playerPrefab = spawnPrefabs[msg.prefabIndex];
        base.OnServerAddPlayer(netMsg.conn, msg.controllerID);
    }

    public override void OnServerAddPlayer(NetworkConnection conn, short playerControllerId)
    {
        MsgTypes.PlayerPrefabMsg msg = new MsgTypes.PlayerPrefabMsg();
        msg.controllerID = playerControllerId;
        NetworkServer.SendToClient(conn.connectionId, MsgTypes.PlayerPrefab, msg);
    }
}

I have identified where the problem is but i do not understand why.

It seems like there is a limit of number of sprites in the game as if i remove one sprite from a button all works, if i add it back it does not work. If i add an additional button it works, if i add a sprite to that new button it does not work???