diff --git a/lib/manager/npm/post-update/yarn.js b/lib/manager/npm/post-update/yarn.js
index 554da4fb1ba98092eb6dae5766422e0169320bfb..7ac70a2d831f4e0a9f92908b578483d6ecce66b1 100644
--- a/lib/manager/npm/post-update/yarn.js
+++ b/lib/manager/npm/post-update/yarn.js
@@ -27,11 +27,19 @@ async function generateLockFile(cwd, env, config = {}) {
       cmd = `node ${installedPath}`;
       // istanbul ignore if
       if (yarnIntegrity) {
-        logger.info('Using yarn@1.10 for install');
-        cmd = cmd.replace(
-          'node_modules/yarn/bin/yarn.js',
-          'bin/yarn-1.10.1.js'
-        );
+        try {
+          const renovatePath = await getInstalledPath('renovate', {
+            local: true,
+          });
+          logger.info('Using nested bundled yarn@1.10 for install');
+          cmd = upath.join(renovatePath, 'bin/yarn-1.10.1.js');
+        } catch (err) {
+          logger.info('Using bundled yarn@1.10 for install');
+          cmd = cmd.replace(
+            'node_modules/yarn/bin/yarn.js',
+            'bin/yarn-1.10.1.js'
+          );
+        }
       }
     } catch (localerr) {
       logger.debug('No locally installed yarn found');