Z axis of Unity Script GUI

Hello!
I have to make an analogic odometer.
Yesterday all worked right, but now I don’t know what’s the problem.
I didn’t changed anything.

I draw the analogic cluster odometer using an script like:

    GUI.DrawTexture(Rect(Screen.width-250,Screen.height-250,200,200), ceas, ScaleMode.StretchToFill, true, 10.0f)

And other script for rotating the needle:

var speedNeedle : Texture2D;
var angle : float = 0;
var size : Vector2 =  new Vector2(128, 128);
var pos : Vector2 = new Vector2(0, 0);
var rect : Rect;
var pivot : Vector2;

function Start () {
	UpdateSettings();
}

function UpdateSettings() {
	pos = new Vector2(transform.localPosition.x, transform.localPosition.y);
	rect = new Rect(Screen.width - 165, Screen.height - 225, size.x, size.y);
	pivot = new Vector2(rect.xMin + rect.width * 0.5f, rect.yMin + rect.height * 0.5f);
}
    
function OnGUI(){
    GUIUtility.RotateAroundPivot(angle, pivot);
    GUI.DrawTexture(rect, speedNeedle);
}

Today i seen the needle is under odometer.
What can I do?
Thanks!

You should use GUI.depth to order GUI drawing. If two scripts have the same depth (0 by default) then the drawing order is undefined.