diff --git a/lib/modules/manager/npm/post-update/yarn.spec.ts b/lib/modules/manager/npm/post-update/yarn.spec.ts
index fd931c487d0989ce832462d37daeec086088f3af..ac6e98c9d5e875ed3efa80da7d5d9df25c3bc67a 100644
--- a/lib/modules/manager/npm/post-update/yarn.spec.ts
+++ b/lib/modules/manager/npm/post-update/yarn.spec.ts
@@ -647,5 +647,17 @@ describe('modules/manager/npm/post-update/yarn', () => {
       expect(yarnPath).toBeNull();
       expect(Fixtures.toJSON()['/tmp/renovate/.yarnrc']).toBe('\n');
     });
+
+    it('removes pure-lockfile and frozen-lockfile from .yarnrc', async () => {
+      Fixtures.mock(
+        {
+          '.yarnrc': `--install.pure-lockfile true\n--install.frozen-lockfile true\n`,
+        },
+        '/tmp/renovate'
+      );
+      GlobalConfig.set({ localDir: '/tmp/renovate', cacheDir: '/tmp/cache' });
+      await yarnHelper.checkYarnrc('/tmp/renovate');
+      expect(Fixtures.toJSON()['/tmp/renovate/.yarnrc']).toBe('\n\n');
+    });
   });
 });
diff --git a/lib/modules/manager/npm/post-update/yarn.ts b/lib/modules/manager/npm/post-update/yarn.ts
index 896d3a42f55d40676c918ce45f740cffe3bdc683..fd554192db1ff9e16aa9fdab43681a032edf494b 100644
--- a/lib/modules/manager/npm/post-update/yarn.ts
+++ b/lib/modules/manager/npm/post-update/yarn.ts
@@ -56,16 +56,22 @@ export async function checkYarnrc(
       const yarnBinaryExists = yarnPath
         ? await localPathIsFile(yarnPath)
         : false;
+      let scrubbedYarnrc = yarnrc
+        .replace('--install.pure-lockfile true', '')
+        .replace('--install.frozen-lockfile true', '');
       if (!yarnBinaryExists) {
-        const scrubbedYarnrc = yarnrc.replace(
+        scrubbedYarnrc = scrubbedYarnrc.replace(
           regEx(/^yarn-path\s+"?.+?"?$/gm),
           ''
         );
+        yarnPath = null;
+      }
+      if (yarnrc !== scrubbedYarnrc) {
+        logger.debug(`Writing scrubbed .yarnrc to ${lockFileDir}`);
         await writeLocalFile(
           upath.join(lockFileDir, '.yarnrc'),
           scrubbedYarnrc
         );
-        yarnPath = null;
       }
     }
   } catch (err) /* istanbul ignore next */ {