diff --git a/lib/manager/npm/extract/index.js b/lib/manager/npm/extract/index.js
index 8c0b791c24fd29af6175bfc510b3a17df56b3163..f5c3abe71142de25d8c54ce0ac4ddeeeee9f8754 100644
--- a/lib/manager/npm/extract/index.js
+++ b/lib/manager/npm/extract/index.js
@@ -130,7 +130,7 @@ async function extractPackageFile(content, fileName, config) {
   if (lernaJson) {
     lernaDir = path.dirname(fileName);
     lernaPackages = lernaJson.packages;
-    lernaClient = lernaJson.npmClient || 'npm';
+    lernaClient = lernaJson.npmClient || lockFiles.yarnLock ? 'yarn' : 'npm';
   }
 
   const depTypes = {
diff --git a/test/workers/repository/extract/__snapshots__/manager-files.spec.js.snap b/test/workers/repository/extract/__snapshots__/manager-files.spec.js.snap
index 5e1c2214fcc5f91d2281b7e0dcae2badd9f73786..ed1185c51e7ebb281493e7a5ab831b295e496ce1 100644
--- a/test/workers/repository/extract/__snapshots__/manager-files.spec.js.snap
+++ b/test/workers/repository/extract/__snapshots__/manager-files.spec.js.snap
@@ -5,7 +5,7 @@ Array [
   Object {
     "deps": Array [],
     "ignoreNpmrcFile": undefined,
-    "lernaClient": "npm",
+    "lernaClient": "yarn",
     "lernaDir": ".",
     "lernaPackages": undefined,
     "manager": "npm",