diff --git a/lib/config/defaults.js b/lib/config/defaults.js
index 9e58ceb894c1f46d8e75dddad65852c2f77a1d3c..171a08f25d11b2c5c3e03c0e523e48bc2ab7f2de 100644
--- a/lib/config/defaults.js
+++ b/lib/config/defaults.js
@@ -3,7 +3,6 @@ const configDefinitions = require('./definitions');
 module.exports = {
   getDefault,
   getConfig,
-  getOnboardingConfig,
 };
 
 const defaultValues = {
@@ -26,14 +25,3 @@ function getConfig() {
   });
   return config;
 }
-
-function getOnboardingConfig() {
-  const options = configDefinitions.getOptions();
-  const config = {};
-  options.forEach(option => {
-    if (option.level !== 'global' && option.onboarding !== false) {
-      config[option.name] = getDefault(option);
-    }
-  });
-  return config;
-}
diff --git a/lib/config/index.js b/lib/config/index.js
index cf1ed9312d04aa73c0d3c2454e93db5f279c175d..877f7cb9803ba7b6fd7d7184aa7b85b8f536e19a 100644
--- a/lib/config/index.js
+++ b/lib/config/index.js
@@ -14,6 +14,7 @@ const githubApp = require('./github-app');
 module.exports = {
   parseConfigs,
   filterConfig,
+  getOnboardingConfig,
 };
 
 async function parseConfigs(env, argv) {
@@ -134,3 +135,16 @@ function filterConfig(inputConfig, filterLevel) {
   }
   return outputConfig;
 }
+
+function getOnboardingConfig(repoConfig) {
+  const config = {};
+  for (const option of definitions.getOptions()) {
+    if (option.level !== 'global' && option.onboarding !== false) {
+      config[option.name] = repoConfig[option.name];
+    }
+  }
+  if (repoConfig.detectedPackageFiles) {
+    config.packageFiles = [];
+  }
+  return config;
+}
diff --git a/lib/workers/repository/apis.js b/lib/workers/repository/apis.js
index fbf5dad04aaf89de3a01af794a6c936f92781b3a..f5a5bc51dba05df287dfe29ef5a146a487bd5330 100644
--- a/lib/workers/repository/apis.js
+++ b/lib/workers/repository/apis.js
@@ -67,5 +67,6 @@ async function detectPackageFiles(config) {
   config.logger.trace({ config }, 'detectPackageFiles');
   const packageFiles = await config.api.findFilePaths('package.json');
   config.logger.debug(`Found ${packageFiles.length} package file(s)`);
-  return Object.assign({}, config, { packageFiles });
+  const detectedPackageFiles = true;
+  return Object.assign({}, config, { packageFiles, detectedPackageFiles });
 }
diff --git a/lib/workers/repository/onboarding.js b/lib/workers/repository/onboarding.js
index 67ee579f202784ae878c9afd7ae5ca3cefd65211..54b62d373ce1d29150d75a0b374ca594633d7758 100644
--- a/lib/workers/repository/onboarding.js
+++ b/lib/workers/repository/onboarding.js
@@ -1,7 +1,7 @@
 const handlebars = require('handlebars');
 const stringify = require('json-stringify-pretty-compact');
 
-const defaultsParser = require('../../config/defaults');
+const configParser = require('../../config');
 
 const onboardBranchName = 'renovate/configure';
 const onboardPrTitle = 'Configure Renovate';
@@ -13,14 +13,14 @@ module.exports = {
 };
 
 async function createBranch(config) {
-  const defaultConfig = defaultsParser.getOnboardingConfig();
-  const defaultConfigString = `${stringify(defaultConfig)}\n`;
+  const onboardingConfig = configParser.getOnboardingConfig(config);
+  const onboardingConfigString = `${stringify(onboardingConfig)}\n`;
   await config.api.commitFilesToBranch(
     onboardBranchName,
     [
       {
         name: 'renovate.json',
-        contents: defaultConfigString,
+        contents: onboardingConfigString,
       },
     ],
     'Add renovate.json'
diff --git a/test/workers/repository/onboarding.spec.js b/test/workers/repository/onboarding.spec.js
index 1b3868cb275584ec7e67ea31cb36df7ac40466a2..5fb92c60a6396e9e917db24155606e9bc562b190 100644
--- a/test/workers/repository/onboarding.spec.js
+++ b/test/workers/repository/onboarding.spec.js
@@ -96,6 +96,7 @@ If the default settings are all suitable for you, simply close this Pull Request
           findPr: jest.fn(),
         },
         logger,
+        detectedPackageFiles: true,
       };
     });
     it('returns true if onboarding is false', async () => {