In order to preserve NAC sign consistency, we use a two-level decision criteria during run time to estimate whether such a sign swap occurred for the NAC vectors between the current and previous time steps. The first level is to check if the NAC itself flipped sign unexpectedly, while the second level is to check if the transition dipole moment (TDM), computed with the same adiabatic states, also flips sign. We are able to combine both criteria by leveraging the property that if one of the adiabatic states flips sign, then both the NAC and the TDM will contain the same sign flip. Figure illustrates the first level of the procedure in one dimension. In this scheme, we use the NAC from the two previous time steps to linearly extrapolate an estimation for the next time step. We then check whether the direction of the NAC from TeraChem matches our expectation by calculating the dot product of the Ter-aChem computed NAC vector with our extrapolated one. A positive dot product indicates that a sign-flip has not occurred between the current and previous time steps, and we continue the dynamics using the NAC from Ter-aChem. If instead, the direction of the NAC does not match our expectations (with a negative dot product), then we perform the second-level check by using the same extrapolation scheme to determine whether the TDM for the two corresponding states also flipped sign. If the transition dipole does not show a sign swap, we accept the sign swap of the computed NAC. However, if both the TDM and the NAC have negative dot products, then we correct the TeraChem computed NAC by a factor of -1 and continue the dynamics with the correction. We note that the extrapolated NAC is only used as check for sign flips and never used in the dynamics itself.