Invalid_grant exception while refreshing a token

Figured it out, the refresh token is one time use, after using it to fetch access token once, the refresh token will be returned as well as the new refresh token.