Help with Quaternion.FromToRotation

I am trying to use Quaternion.FromToRotation to point an object in a specified direction along a specified axis. If I have this code called every frame, it works, but every other frame, the rotation gets toggled 90 degrees, so I end up with a ton of ghosting.

Vector3 toOrig2 = Globals.steerOrigin - Globals.handles*.transform.position;*

Globals.handles_.transform.rotation = Quaternion.FromToRotation(-Globals.handles*.transform.forward, toOrig2);_
_After the 1st call, shouldn’t the -Globals.handles.transform.forward and toOrig2 be the same and result in no change? I call this every frame because the object it is applied to may or may not be moved each frame. I’d rather not have to store if it’s moved since the last frame and only update the rotation in that case.*_

It looks like every other frame this will toggle to be 90 degrees off from what I want. So I put this check in after the 1st FromToRotation:

if(Vector3.Angle(toOrig2, -Globals.handles*.transform.forward) > 10)*

{
Globals.handles_.transform.rotation = Quaternion.FromToRotation(-Globals.handles*.transform.forward, toOrig2);
}*
in an attempt to undo the unwanted rotations. This still doesn’t seem to work to well to fix the issue though._