It sounds like you may have authenticated with the offline_access scope included in the authorisation link at some stage and so you have got a refresh token.
At a later stage when reconnecting you didn't include offline_access and so the latest connection only lasts 30 minutes and does not have a refresh token associated with it.