diff --git a/lib/workers/repository/process/fetch.ts b/lib/workers/repository/process/fetch.ts
index 918d5cb9df80718507b597a072f9660c0e2614ac..1d43ed4d52748d7eac19e5d4ca54d896ec0d9ea8 100644
--- a/lib/workers/repository/process/fetch.ts
+++ b/lib/workers/repository/process/fetch.ts
@@ -16,15 +16,16 @@ import {
   PackageUpdateResult,
 } from '../../../manager/common';
 import { SkipReason } from '../../../types';
+import { clone } from '../../../util/clone';
 
 async function fetchDepUpdates(
   packageFileConfig: ManagerConfig & PackageFile,
-  dep: PackageDependency
-): Promise<void> {
-  /* eslint-disable no-param-reassign */
+  indep: PackageDependency
+): Promise<PackageDependency> {
+  const dep = clone(indep);
   dep.updates = [];
   if (dep.skipReason) {
-    return;
+    return dep;
   }
   const { manager, packageFile } = packageFileConfig;
   const { depName, currentValue } = dep;
@@ -76,7 +77,7 @@ async function fetchDepUpdates(
       updates: dep.updates,
     });
   }
-  /* eslint-enable no-param-reassign */
+  return dep;
 }
 
 async function fetchManagerPackagerFileUpdates(
@@ -87,14 +88,15 @@ async function fetchManagerPackagerFileUpdates(
   const { packageFile } = pFile;
   const packageFileConfig = mergeChildConfig(managerConfig, pFile);
   const { manager } = packageFileConfig;
-  const queue = pFile.deps.map((dep) => (): Promise<void> =>
+  const queue = pFile.deps.map((dep) => (): Promise<PackageDependency> =>
     fetchDepUpdates(packageFileConfig, dep)
   );
   logger.trace(
     { manager, packageFile, queueLength: queue.length },
     'fetchManagerPackagerFileUpdates starting with concurrency'
   );
-  await pAll(queue, { concurrency: 5 });
+  // eslint-disable-next-line no-param-reassign
+  pFile.deps = await pAll(queue, { concurrency: 5 });
   logger.trace({ packageFile }, 'fetchManagerPackagerFileUpdates finished');
 }