Multiplayer names problem

I am using the M2H tutorial for my multiplayer networked game. Currently I have name labels for each of the players using 3dtext ad networkview and networkrigidbody attached. I also attached a script to the 3d text that sets the value of the text to the name of the player. The code looks like this:

using UnityEngine;
using System.Collections;

public class PlayerInfoText : MonoBehaviour {

public string pname="";
public float health;
public Transform thetarget;
public string thisName ="";
private GameSetup gameSetupScript;

void Awake(){
    health = 100;

}

void Start(){
    if (!networkView.isMine){
        gameSetupScript = GameObject.Find("Generalscripts").GetComponent<GameSetup>();
        foreach (FPSPlayerNode playerInstance in gameSetupScript.playerList) {
            if (networkView.viewID.owner == playerInstance.networkPlayer) {
                pname=playerInstance.playerName;
                break;          
            }
        }               
        setName(pname);
    }
    transform.gameObject.GetComponent<TextMesh>().text = thisName +"
" +health;
}

void Update(){
    transform.LookAt(transform.position + Camera.main.transform.forward);

}

When only two players are logged in (the server and 1 client). Everything works good, the names show up properly. However, when 3 or more are logged in there are problems. The server looks good, all players are labeled correctly, however, on each client all the ships have the servers name. I need all the clients to have all the correct names for the other players' ships.

Thank you.

Use `PlayerPrefs` function, a WORKING example is showed in leepo's networking tutorial. folder name "Example4". - In the first scene u write a name and it saves it with playerprefs.setsting, and getstring.

I've tried getting the name with PlayerPrefs.GetString("playerName"), but that just sets all the opposing players labels to the name of the localplayer.

Is there a way to access the PlayerPrefs of the other players?