diff --git a/lib/platform/gitlab/index.js b/lib/platform/gitlab/index.js
index 8af5dd8396c4a8c446e9dbc40b530def090f813c..23887b35386f87855f4556b0f025bdf2ddd2fd25 100644
--- a/lib/platform/gitlab/index.js
+++ b/lib/platform/gitlab/index.js
@@ -106,8 +106,15 @@ async function initRepo({ repository, token, endpoint, gitAuthor }) {
       throw new Error('Invalid gitAuthor');
     }
   }
+  let res;
   try {
-    const res = await get(`projects/${config.repository}`);
+    res = await get(`projects/${config.repository}`);
+    if (res.body.archived) {
+      logger.info(
+        'Repository is archived - throwing error to abort renovation'
+      );
+      throw new Error('archived');
+    }
     config.defaultBranch = res.body.default_branch;
     config.baseBranch = config.defaultBranch;
     logger.debug(`${repository} default branch = ${config.baseBranch}`);
@@ -117,7 +124,14 @@ async function initRepo({ repository, token, endpoint, gitAuthor }) {
     delete config.fileList;
     await Promise.all([getPrList(), getFileList()]);
   } catch (err) {
-    logger.error({ err }, `GitLab init error`);
+    logger.debug('Caught initRepo error');
+    if (err.message === 'archived') {
+      throw err;
+    }
+    logger.info(
+      { err, message: err.message, body: res ? res.body : undefined },
+      'Unknown GitLab initRepo error'
+    );
     throw err;
   }
   return {};
diff --git a/test/platform/gitlab/index.spec.js b/test/platform/gitlab/index.spec.js
index 7b62abd8381dccbb7278c06618767117862a516e..525e639ce3ea26583add5a6d88a0e18c98dd9ccb 100644
--- a/test/platform/gitlab/index.spec.js
+++ b/test/platform/gitlab/index.spec.js
@@ -142,6 +142,16 @@ describe('platform/gitlab', () => {
       }
       expect(err.message).toBe('always error');
     });
+    it('should throw an error if repository is archived', async () => {
+      get.mockReturnValue({ body: { archived: true } });
+      let err;
+      try {
+        await gitlab.initRepo({ repository: 'some/repo', token: 'sometoken' });
+      } catch (e) {
+        err = e;
+      }
+      expect(err.message).toBe('archived');
+    });
   });
   describe('getRepoForceRebase', () => {
     it('should return false', () => {