diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js
index 5acd918b8490890da47c2f56916c0a1b102c3f1a..9b0c946774919f46adde357a0afc0ca6298dd83b 100644
--- a/lib/workers/repository/error.js
+++ b/lib/workers/repository/error.js
@@ -94,6 +94,11 @@ async function handleError(config, err) {
     delete config.branchList; // eslint-disable-line no-param-reassign
     return err.message;
   }
+  if (err.message === 'bad-credentials') {
+    logger.warn('Bad credentials - aborting');
+    delete config.branchList; // eslint-disable-line no-param-reassign
+    return err.message;
+  }
   if (err.message === 'integration-unauthorized') {
     logger.warn('Integration unauthorized - aborting');
     delete config.branchList; // eslint-disable-line no-param-reassign
diff --git a/test/workers/repository/error.spec.js b/test/workers/repository/error.spec.js
index b37d4362d6d135ec0402f829bc624fcc89179be4..82ccb6a69d8956e1c8d87fe4f572828b488c522b 100644
--- a/test/workers/repository/error.spec.js
+++ b/test/workers/repository/error.spec.js
@@ -24,6 +24,7 @@ describe('workers/repository/error', () => {
       'blocked',
       'not-found',
       'forbidden',
+      'bad-credentials',
       'rate-limit-exceeded',
       'lockfile-error',
       'disk-space',