diff --git a/lib/transport.js b/lib/transport.js
index <HASH>..<HASH> 100644
--- a/lib/transport.js
+++ b/lib/transport.js
@@ -107,7 +107,12 @@ module.exports = {
     if (res && res.ok === true && !err) {
       options.resolve(res.body);
     } else {
-      if (res && res.status === 401 && (res.body.error === 'invalid_token' || res.body.error_description === 'expired_token') && this.authObject.refreshToken) {
+      var isStatus401 = res && res.status === 401;
+      var isInvalidOrExpiredToken = (res.body.error === 'invalid_token' || res.body.error_description === 'expired_token');
+      var hasRefreshToken = this.authObject && this.authObject.refreshToken;
+
+      if (isStatus401 && isInvalidOrExpiredToken && hasRefreshToken) {
+
         this._getAuth()._refreshToken(function (err, response) {
           if (err !== null) {
             options.reject(this._handleTransportError(options, response));
double check the authObject exists before looking for the refresh token. fix #<I>