diff --git a/lib/manager/npm/resolve.js b/lib/manager/npm/resolve.js
index 786d52cb4520dc345e3cffe4316047ec64012bc7..af454432789381c28deaebf5bf328547eadc4cac 100644
--- a/lib/manager/npm/resolve.js
+++ b/lib/manager/npm/resolve.js
@@ -11,6 +11,7 @@ async function resolvePackageFile(config, inputFile) {
   logger.debug(
     `Resolving packageFile ${JSON.stringify(packageFile.packageFile)}`
   );
+
   const pFileRaw = await platform.getFile(packageFile.packageFile);
   if (!pFileRaw) {
     logger.info(
@@ -45,6 +46,20 @@ async function resolvePackageFile(config, inputFile) {
     });
     return null;
   }
+
+  if (
+    inputFile.packageFile.includes('package.json') &&
+    inputFile.packageFile !== 'package.json' &&
+    packageFile.content.renovate !== undefined
+  ) {
+    const error = new Error('config-validation');
+    error.configFile = packageFile.packageFile;
+    error.validationError = 'package.json configuration error';
+    error.validationMessage =
+      'Nested package.json must not contain renovate configuration';
+    throw error;
+  }
+
   if (!config.ignoreNpmrcFile) {
     packageFile.npmrc = await platform.getFile(
       upath.join(path.dirname(packageFile.packageFile), '.npmrc')
diff --git a/test/manager/resolve.spec.js b/test/manager/resolve.spec.js
index 10a1d111bac7733e5eeaeefdc7cb70c51815f6ed..3ae257a8bb268e3ccdc2977d8adb90ec0a661fe2 100644
--- a/test/manager/resolve.spec.js
+++ b/test/manager/resolve.spec.js
@@ -169,5 +169,21 @@ describe('manager/resolve', () => {
       expect(res.packageFiles).toMatchSnapshot();
       expect(res.warnings).toHaveLength(0);
     });
+    it('checks if renovate config in nested package.json throws an error', async () => {
+      manager.detectPackageFiles = jest.fn(() => [
+        { packageFile: 'package.json', manager: 'npm' },
+      ]);
+      platform.getFileList.mockReturnValue(['test/package.json']);
+      platform.getFile.mockReturnValueOnce(
+        '{"name": "test/package.json", "version": "0.0.1", "renovate":{"enabled": true}}'
+      );
+      let e;
+      try {
+        await resolvePackageFiles(config);
+      } catch (err) {
+        e = err;
+      }
+      expect(e).toEqual(new Error('config-validation'));
+    });
   });
 });