diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js
index 19202bd7fdac0e7e3171b9306d2058c2fa4d7c6a..294066d124066b124671fb43c104afd79ac2aab7 100644
--- a/lib/manager/npm/post-update/index.js
+++ b/lib/manager/npm/post-update/index.js
@@ -471,7 +471,7 @@ async function getAdditionalFiles(config, packageFiles) {
     }
   }
 
-  if (dirs.lernaDirs && dirs.lernaDirs.length) {
+  for (const lernaDir of dirs.lernaDirs) {
     let lockFile;
     if (config.lernaClient === 'npm') {
       lockFile = config.npmLock || 'package-lock.json';
@@ -484,7 +484,7 @@ async function getAdditionalFiles(config, packageFiles) {
     );
     const res = await lerna.generateLockFiles(
       config.lernaClient,
-      config.tmpDir.path,
+      upath.join(config.tmpDir.path, lernaDir),
       env
     );
     // istanbul ignore else