diff --git a/lib/manager/npm/extract/index.spec.ts b/lib/manager/npm/extract/index.spec.ts
index a61147a19391d6cbb9757e394199f19d94d44a40..8a4f2cc684a1d975096b16237adbea280efd66b0 100644
--- a/lib/manager/npm/extract/index.spec.ts
+++ b/lib/manager/npm/extract/index.spec.ts
@@ -125,7 +125,7 @@ describe('manager/npm/extract', () => {
         'package.json',
         {}
       );
-      expect(res.npmrc).toBeUndefined();
+      expect(res.npmrc).toEqual('');
     });
     it('finds lerna', async () => {
       fs.readLocalFile = jest.fn((fileName) => {
diff --git a/lib/manager/npm/extract/index.ts b/lib/manager/npm/extract/index.ts
index 864d347acdc3054aa08fbd357f8f176b3558315c..6bcf65e0df4bd790e800cd81c083be4a7c2d1c37 100644
--- a/lib/manager/npm/extract/index.ts
+++ b/lib/manager/npm/extract/index.ts
@@ -111,10 +111,14 @@ export async function extractPackageFile(
         npmrc = npmrc.replace(/(^|\n)package-lock.*?(\n|$)/g, '\n');
       }
       if (npmrc.includes('=${') && getAdminConfig().trustLevel !== 'high') {
-        logger.debug('Discarding .npmrc file with variables');
-        ignoreNpmrcFile = true;
-        npmrc = undefined;
-        await deleteLocalFile(npmrcFileName);
+        logger.debug(
+          { npmrcFileName },
+          'Discarding .npmrc lines with variables'
+        );
+        npmrc = npmrc
+          .split('\n')
+          .filter((line) => !line.includes('=${'))
+          .join('\n');
       }
     } else {
       npmrc = undefined;