diff --git a/lib/platform/github/index.js b/lib/platform/github/index.js
index 3484477939dbb7c85f5a7a8314c8e5a112081f2c..c2e232a1ec05d75e14f140cd0ee647b06c202483 100644
--- a/lib/platform/github/index.js
+++ b/lib/platform/github/index.js
@@ -106,6 +106,9 @@ async function initRepo(repoName, token, endpoint, forkMode, forkToken) {
       logger.info('Could not find allowed merge methods for repo');
     }
   } catch (err) /* istanbul ignore next */ {
+    if (err.statusCode === 404) {
+      throw new Error('not-found');
+    }
     logger.info({ err, res }, 'Unknown GitHub initRepo error');
     throw err;
   }
diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js
index a4024ebd70badb1b2c303f1f918ad95db3a90920..cae471f597aabb79a8bfbaf9f84ce1f54db46308 100644
--- a/lib/workers/repository/error.js
+++ b/lib/workers/repository/error.js
@@ -15,6 +15,9 @@ async function handleError(config, err) {
   } else if (err.message === 'archived') {
     logger.info('Repository is archived - skipping');
     return err.message;
+  } else if (err.message === 'not-found') {
+    logger.info('Repository is not found');
+    return err.message;
   } else if (err.message === 'fork') {
     logger.info('Repository is a fork and not manually configured - skipping');
     return err.message;
diff --git a/test/platform/github/index.spec.js b/test/platform/github/index.spec.js
index 76bec2dfc5132df14dd3c6cb7fc3ed28fc36c589..5f23181f58d8588c1e86cc5ca9628b4dd21d2abc 100644
--- a/test/platform/github/index.spec.js
+++ b/test/platform/github/index.spec.js
@@ -339,6 +339,20 @@ describe('platform/github', () => {
       }
       expect(e).toBeDefined();
     });
+    it('throws not-found', async () => {
+      get.mockImplementationOnce(() =>
+        Promise.reject({
+          statusCode: 404,
+        })
+      );
+      let e;
+      try {
+        await github.initRepo('some/repo', 'token');
+      } catch (err) {
+        e = err;
+      }
+      expect(e).toBeDefined();
+    });
   });
   describe('getRepoForceRebase', () => {
     it('should detect repoForceRebase', async () => {
diff --git a/test/workers/repository/error.spec.js b/test/workers/repository/error.spec.js
index 916a72e69c5d51d37c78f246be2b474696a47128..19c32a7e752eea90402918f5ed77e593459b0bd4 100644
--- a/test/workers/repository/error.spec.js
+++ b/test/workers/repository/error.spec.js
@@ -18,6 +18,7 @@ describe('workers/repository/error', () => {
       'loops>5',
       'config-validation',
       'archived',
+      'not-found',
     ];
     errors.forEach(err => {
       it(`errors ${err}`, async () => {