diff --git a/lib/api/gh-got-wrapper.js b/lib/api/gh-got-wrapper.js
index 89018d6d754b1352f5d6c33eddd638425470e86a..fba297867339533626fec085207a01107dc46b1f 100644
--- a/lib/api/gh-got-wrapper.js
+++ b/lib/api/gh-got-wrapper.js
@@ -48,8 +48,7 @@ async function get(path, opts, retries = 5) {
         await sleep(5000 / retries);
       }
       return get(path, opts, retries - 1);
-    }
-    if (
+    } else if (
       retries > 0 &&
       err.statusCode === 403 &&
       err.message &&
@@ -65,8 +64,7 @@ async function get(path, opts, retries = 5) {
         await sleep(180000 / (retries * retries));
       }
       return get(path, opts, retries - 1);
-    }
-    if (
+    } else if (
       err.statusCode === 403 &&
       err.message &&
       err.message.indexOf('rate limit exceeded') !== -1
@@ -82,7 +80,22 @@ async function get(path, opts, retries = 5) {
         }
         return get(path, opts, retries - 1);
       }
-      logger.info({ headers: err.headers }, 'Failed retrying request');
+    } else if (
+      err.statusCode === 401 &&
+      err.message &&
+      err.message.indexOf('Bad credentials') !== -1
+    ) {
+      if (retries > 0) {
+        logger.info(
+          { statusCode: err.statusCode, message: err.message },
+          `Retrying request`
+        );
+        // istanbul ignore if
+        if (process.env.NODE_ENV !== 'test') {
+          await sleep(5000 / retries);
+        }
+        return get(path, opts, retries - 1);
+      }
     }
     throw err;
   }
diff --git a/test/api/gh-got-wrapper.spec.js b/test/api/gh-got-wrapper.spec.js
index ef738176f8c908cf91b33c565f53dfb77f986b4b..adf439a933cb9b999f09503f912e87212b2c9479 100644
--- a/test/api/gh-got-wrapper.spec.js
+++ b/test/api/gh-got-wrapper.spec.js
@@ -97,6 +97,12 @@ describe('api/gh-got-wrapper', () => {
         message: 'API rate limit exceeded for x.',
       })
     );
+    ghGot.mockImplementationOnce(() =>
+      Promise.reject({
+        statusCode: 401,
+        message: 'Bad credentials',
+      })
+    );
     ghGot.mockImplementationOnce(() =>
       Promise.reject({
         statusCode: 403,