Tower Pro SG90 central position (90deg) does not remain constant

I am using a Tower Pro SG90 for a vertical speed indicator where the 90 degree position for the servo points to zero climb on the gauge scale.

However, the physical position of the servo arms changes by as much as 10 degrees over time and after turning the arduino on and off despite the same angle of 90 degrees being sent to the servo using the servo.h library.

Is this normal?? Is there any way to calibrate it so it will always point in exactly the same direction every an angle of 90degrees is written to the servo?

I used these cheap servos a lot in my radio control hobby. They are great for small lightweight planes.

However, on 2 occasions, I have found servos that would randomly change their center position by some small amount. I would land (or crash) and mechanically change the linkage to center the control surface that the servo was attached to. But after a flight or three, the center would move back.

I suspect that the internal pot was not adequately affixed to the output shaft.

I discarded the servo and replaced with another and the problem went away.

It would be interesting to open up such a failed servo to confirm the cause of failure but both failed servos were disposed of.