diff --git a/lib/workers/repository/init/config.spec.ts b/lib/workers/repository/init/config.spec.ts
index d5bb81a07a7bd7f33e0f710936797f7f0b035db9..b89fdd4567f14567540e2b863aa0c05954080d0a 100644
--- a/lib/workers/repository/init/config.spec.ts
+++ b/lib/workers/repository/init/config.spec.ts
@@ -121,6 +121,7 @@ describe('workers/repository/init/config', () => {
         warnings: [],
         errors: [],
       });
+      config.extends = [':automergeDisabled'];
       expect(await mergeRenovateConfig(config)).not.toBeUndefined();
     });
   });
diff --git a/lib/workers/repository/init/config.ts b/lib/workers/repository/init/config.ts
index 7d907e83d22defd4608544df2d0c63c2103b9598..57d2a413602d5cf5a50a0bc5e89bc730d37deba0 100644
--- a/lib/workers/repository/init/config.ts
+++ b/lib/workers/repository/init/config.ts
@@ -1,4 +1,5 @@
 import path from 'path';
+import is from '@sindresorhus/is';
 import jsonValidator from 'json-dup-key-validator';
 import JSON5 from 'json5';
 
@@ -149,11 +150,16 @@ export async function mergeRenovateConfig(
 ): Promise<RenovateConfig> {
   let returnConfig = { ...config };
   const repoConfig = await detectRepoFileConfig();
+  const configFileParsed = repoConfig?.configFileParsed || {};
+  if (is.nonEmptyArray(returnConfig.extends)) {
+    configFileParsed.extends = [
+      ...returnConfig.extends,
+      ...(configFileParsed.extends || []),
+    ];
+    delete returnConfig.extends;
+  }
   checkForRepoConfigError(repoConfig);
-  const migratedConfig = await migrateAndValidate(
-    config,
-    repoConfig?.configFileParsed || {}
-  );
+  const migratedConfig = await migrateAndValidate(config, configFileParsed);
   if (migratedConfig.errors.length) {
     const error = new Error(CONFIG_VALIDATION);
     error.configFile = repoConfig.configFileName;