diff --git a/lib/workers/repository/init/apis.ts b/lib/workers/repository/init/apis.ts
index 47a0fb7150424ac9c34dba503efc07583a618620..35743546c03ab00d3ed83dcb84728ade6a09b377 100644
--- a/lib/workers/repository/init/apis.ts
+++ b/lib/workers/repository/init/apis.ts
@@ -4,7 +4,6 @@ import {
   REPOSITORY_DISABLED_BY_CONFIG,
   REPOSITORY_FORKED,
 } from '../../../constants/error-messages';
-import * as npmApi from '../../../modules/datasource/npm';
 import { RepoParams, RepoResult, platform } from '../../../modules/platform';
 
 // TODO: fix types
@@ -64,7 +63,5 @@ export async function initApis(
   config = await getPlatformConfig(config as never);
   await validateOptimizeForDisabled(config);
   await validateIncludeForks(config);
-  npmApi.resetMemCache();
-  npmApi.setNpmrc(config.npmrc);
   return config;
 }
diff --git a/lib/workers/repository/init/cache.ts b/lib/workers/repository/init/cache.ts
index e9668143f88fa4e765e67473ff3b6977e8915f22..4c9fa85f52ee19f6926030aac161035b67f7a42b 100644
--- a/lib/workers/repository/init/cache.ts
+++ b/lib/workers/repository/init/cache.ts
@@ -1,13 +1,20 @@
 import fs from 'fs-extra';
 import type { RenovateConfig } from '../../../config/types';
+import * as npmApi from '../../../modules/datasource/npm';
 import * as memCache from '../../../util/cache/memory';
 import * as repositoryCache from '../../../util/cache/repository';
 import { privateCacheDir } from '../../../util/fs';
 
+export async function resetCaches(): Promise<void> {
+  memCache.reset();
+  repositoryCache.reset();
+  await fs.remove(privateCacheDir());
+  npmApi.resetMemCache();
+}
+
 export async function initializeCaches(config: RenovateConfig): Promise<void> {
   memCache.init();
   await repositoryCache.initialize(config);
-
-  await fs.remove(privateCacheDir());
   await fs.ensureDir(privateCacheDir());
+  npmApi.setNpmrc(config.npmrc);
 }
diff --git a/lib/workers/repository/init/index.ts b/lib/workers/repository/init/index.ts
index 7638e4885d5a96bda6e1bf65e32eae6799ae5be0..76a15e89fd2b50d305afdc5e04db353abbb5afbb 100644
--- a/lib/workers/repository/init/index.ts
+++ b/lib/workers/repository/init/index.ts
@@ -6,7 +6,7 @@ import { clone } from '../../../util/clone';
 import { setUserRepoConfig } from '../../../util/git';
 import { checkIfConfigured } from '../configured';
 import { initApis } from './apis';
-import { initializeCaches } from './cache';
+import { initializeCaches, resetCaches } from './cache';
 import { getRepoConfig } from './config';
 import { detectVulnerabilityAlerts } from './vulnerability';
 
@@ -26,8 +26,9 @@ export async function initRepo(
   config_: RenovateConfig
 ): Promise<RenovateConfig> {
   let config: RenovateConfig = initializeConfig(config_);
-  await initializeCaches(config);
+  await resetCaches();
   config = await initApis(config);
+  await initializeCaches(config);
   config = await getRepoConfig(config);
   checkIfConfigured(config);
   warnOnUnsupportedOptions(config);