Gameobject loses after it passes a array

I have a serie of prefabs i want to get randomized, but every time it passes my array is gets NULL.

var prefab1 : GameObject;
var prefab2 : GameObject;
var prefab3 : GameObject;
var prefab4 : GameObject;

var teller = 0;


var arraypoint = new Array (174, 179,191,193, 184);
var arrayprefab = new Array (prefab1, prefab2, prefab3, prefab4);

function Update  () {
	teller++;

	
	if(teller==100)
	{
		print(arrayprefab[1]);
		
		var positionpoint = Vector3(arraypoint[Random.Range(0, 5)], 5, 0);
		
   		Instantiate(arrayprefab[Random.Range(0, 4)], positionpoint, Quaternion.identity);
   		teller=0;
	}
}

it seems like you can’t put the game objects into the array like that. do it in the start function and it should work