diff --git a/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap b/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap
index 7b8d17a9e56a4d071d99b4cae87541ee3e9cba29..cda4633d9e92cfe73694fc9f723d61dc1a105458 100644
--- a/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap
+++ b/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap
@@ -2,6 +2,21 @@
 
 exports[`workers/repository/process/fetch fetchUpdates() fetches updates 1`] = `
 Object {
+  "maven": Array [
+    Object {
+      "deps": Array [
+        Object {
+          "datasource": "maven",
+          "depName": "bbb",
+          "updates": Array [
+            "a",
+            "b",
+          ],
+        },
+      ],
+      "packageFile": "pom.xml",
+    },
+  ],
   "npm": Array [
     Object {
       "deps": Array [
diff --git a/lib/workers/repository/process/fetch.spec.ts b/lib/workers/repository/process/fetch.spec.ts
index 04b7b70d814839f7e489319b415cb8f8c25dd80b..ed2911d9e1d6ef29203c0ef94db8c652dab739c2 100644
--- a/lib/workers/repository/process/fetch.spec.ts
+++ b/lib/workers/repository/process/fetch.spec.ts
@@ -4,6 +4,7 @@ import * as lookup from './lookup';
 import { getConfig, mocked, RenovateConfig } from '../../../../test/util';
 import { ManagerApi } from '../../../manager/common';
 import * as datasourceNpm from '../../../datasource/npm';
+import * as datasourceMaven from '../../../datasource/maven';
 
 const npm: ManagerApi = _npm;
 const lookupUpdates = mocked(lookup).lookupUpdates;
@@ -60,6 +61,12 @@ describe('workers/repository/process/fetch', () => {
     it('fetches updates', async () => {
       config.rangeStrategy = 'auto';
       const packageFiles: any = {
+        maven: [
+          {
+            packageFile: 'pom.xml',
+            deps: [{ datasource: datasourceMaven.id, depName: 'bbb' }],
+          },
+        ],
         npm: [
           {
             packageFile: 'package.json',
diff --git a/lib/workers/repository/process/fetch.ts b/lib/workers/repository/process/fetch.ts
index 6812d8540e24f07d0d9727de9d518cd2868344e5..9cd79d2c869d1f7440b9e09105f072a17ec66c01 100644
--- a/lib/workers/repository/process/fetch.ts
+++ b/lib/workers/repository/process/fetch.ts
@@ -87,14 +87,22 @@ async function fetchManagerPackagerFileUpdates(
 ): Promise<void> {
   const { packageFile } = pFile;
   const packageFileConfig = mergeChildConfig(managerConfig, pFile);
-  const queue = pFile.deps.map(dep => (): Promise<void> =>
-    fetchDepUpdates(packageFileConfig, dep)
-  );
+  const { manager } = packageFileConfig;
   logger.debug(
-    { packageFile, queueLength: queue.length },
+    { manager, packageFile, queueLength: pFile.deps.length },
     'fetchManagerPackagerFileUpdates starting'
   );
-  await pAll(queue, { concurrency: 5 });
+  const problematicManagers = ['pip_requirements', 'maven'];
+  if (problematicManagers.includes(manager)) {
+    for (const dep of pFile.deps) {
+      await fetchDepUpdates(packageFileConfig, dep);
+    }
+  } else {
+    const queue = pFile.deps.map(dep => (): Promise<void> =>
+      fetchDepUpdates(packageFileConfig, dep)
+    );
+    await pAll(queue, { concurrency: 5 });
+  }
   logger.debug({ packageFile }, 'fetchManagerPackagerFileUpdates finished');
 }