Random.Range is not changing?

I want my object to move to a random point on the X axis between -50 & 50 at start-up. The value is random, but it returns the same value each time.

void Start()
    {
        transform.position = new Vector3(Random.Range(-50, 50), transform.position.y, transform.position.z);
    }

Also, if I put this in void Update() it works fine.

could it be that you are overwriting it somewhere after start?

Check to make sure the Xvalue is random before you assign it, it will get you closer to your answer.

void Start(){
 randomNumber = Random.Range(-50f,50f);
Debug.Log("Random Number is = "+ randomNumber); // This will tell us if random is workin.g 
transform.position = new Vector3(randomNumber,transform.position.y,transform.position.z);
}

WUCC check for errors