Moving Platform Issue

I have moving platforms that are set to move between 2 or more locations using transform position. When they get to the GlobalTargetLocation they get updated with a new GlobalTargetLocation . It works 99% of the time but sometimes my platforms aren’t where they should be. I watched them in PIE and they behave normally, but if PIE is not the focus window I ejected and noticed they would just keep going and not listen to any code. Is this just a editor bug? Or what is going on? I have some sample code below just to show you how I have it setup. Thank you!

FVector Direction = (GlobalTargetLocation - GlobalStartLocation).GetSafeNormal();
Location += Speed * DeltaTime * Direction;

if (Location.Equals(GlobalTargetLocation1, Tolerance) && GoesBothWays == true && TargetLocation2.Size() <= 10)
		GlobalTargetLocation = OriginalLocation;
		GlobalStartLocation = GetActorLocation();