LoginInfo and Status

I'm having a major problem with the status from LoginInfo.  When a customer initiates a password reset, we take the token information and use that to log them in.  Then the I check the Status from LoginInfo to see if this is a temporary login, and I use that to redirect them to a change password page that is altered to not require them to enter their original password.

The problem is that the Status from LoginInfo seems to be inconsistent.  Sometimes it registers as temporary (T), other times it doesn't.  I have a working hypothesis that if you make one or more API calls after getting the LoginInfo that perhaps it stops recognizing it as Temporary?  Has anyone else had this problem?