diff --git a/lib/workers/repository/index.js b/lib/workers/repository/index.js
index ac8e98df42fb125c631b8d1c4151dbdfb487cbcc..4764c0435ed60f9e0eff330561e765a488ac0185 100644
--- a/lib/workers/repository/index.js
+++ b/lib/workers/repository/index.js
@@ -20,6 +20,7 @@ async function renovateRepository(repoConfig) {
   logger.setMeta({ repository: config.repository });
   logger.info('Renovating repository');
   logger.trace({ config });
+  let repoResult;
   try {
     if (process.env.RENOVATE_TMPDIR) {
       process.env.TMPDIR = process.env.RENOVATE_TMPDIR;
@@ -37,14 +38,15 @@ async function renovateRepository(repoConfig) {
     await ensureOnboardingPr(config, packageFiles, branches);
     await ensureMasterIssue(config, branches);
     await finaliseRepo(config, branchList);
-    return processResult(config, res);
+    repoResult = processResult(config, res);
   } catch (err) /* istanbul ignore next */ {
-    return processResult(config, await handleError(config, err));
-  } finally {
-    platform.cleanRepo();
-    if (config.localDir && !config.persistRepoData) {
-      await fs.remove(config.localDir);
-    }
-    logger.info('Finished repository');
+    const errorRes = await handleError(config, err);
+    repoResult = processResult(config, errorRes);
+  }
+  await platform.cleanRepo();
+  if (config.localDir && !config.persistRepoData) {
+    await fs.remove(config.localDir);
   }
+  logger.info('Finished repository');
+  return repoResult;
 }