diff --git a/lib/manager/maven/extract.js b/lib/manager/maven/extract.js
index 9b62ed7fecee1dea6602b1e2a428112932230ef1..ce99fff75bc2e11d94f6580959bbb7bfe0fe71b6 100644
--- a/lib/manager/maven/extract.js
+++ b/lib/manager/maven/extract.js
@@ -69,10 +69,14 @@ function applyProps(dep, props) {
 
   let fileReplacePosition = dep.fileReplacePosition;
   let propSource = null;
+  let groupName = null;
   const currentValue = dep.currentValue.replace(/^\${.*?}$/, substr => {
     const propKey = substr.slice(2, -1).trim();
     const propValue = props[propKey];
     if (propValue) {
+      if (!groupName) {
+        groupName = propKey;
+      }
       fileReplacePosition = propValue.fileReplacePosition;
       propSource = propValue.packageFile;
       return propValue.val;
@@ -89,6 +93,10 @@ function applyProps(dep, props) {
     currentValue,
   };
 
+  if (groupName) {
+    result.groupName = groupName;
+  }
+
   if (containsPlaceholder(depName)) {
     result.skipReason = 'name-placeholder';
   } else if (containsPlaceholder(currentValue)) {
diff --git a/test/manager/maven/__snapshots__/extract.spec.js.snap b/test/manager/maven/__snapshots__/extract.spec.js.snap
index 4144c21d3ea2ac213ec704c3a1ff77ee1027ac91..601c732451fc11802c0837f6a4d3083fc71af5e2 100644
--- a/test/manager/maven/__snapshots__/extract.spec.js.snap
+++ b/test/manager/maven/__snapshots__/extract.spec.js.snap
@@ -74,11 +74,21 @@ Object {
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
       ],
     },
+    Object {
+      "currentValue": "\${quuxVersion}",
+      "datasource": "maven",
+      "depName": "\${quuxGroup}:\${quuxId}-test",
+      "fileReplacePosition": 2684,
+      "registryUrls": Array [
+        "https://repo.maven.apache.org/maven2",
+        "https://maven.atlassian.com/content/repositories/atlassian-public/",
+      ],
+    },
     Object {
       "currentValue": "1.2.3",
       "datasource": "maven",
       "depName": "org.example:quuz",
-      "fileReplacePosition": 2673,
+      "fileReplacePosition": 2832,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -88,7 +98,7 @@ Object {
       "currentValue": "it's not a version",
       "datasource": "maven",
       "depName": "org.example:quuuz",
-      "fileReplacePosition": 2813,
+      "fileReplacePosition": 2972,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -98,7 +108,7 @@ Object {
       "currentValue": "[1.0.0]",
       "datasource": "maven",
       "depName": "org.example:hard-range",
-      "fileReplacePosition": 2971,
+      "fileReplacePosition": 3130,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -108,7 +118,7 @@ Object {
       "currentValue": "\${profile-placeholder}",
       "datasource": "maven",
       "depName": "org.example:profile-artifact",
-      "fileReplacePosition": 3233,
+      "fileReplacePosition": 3392,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -118,7 +128,7 @@ Object {
       "currentValue": "2.17",
       "datasource": "maven",
       "depName": "org.apache.maven.plugins:maven-checkstyle-plugin",
-      "fileReplacePosition": 3509,
+      "fileReplacePosition": 3668,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
diff --git a/test/manager/maven/__snapshots__/index.spec.js.snap b/test/manager/maven/__snapshots__/index.spec.js.snap
new file mode 100644
index 0000000000000000000000000000000000000000..dab2e477fe2e1e838474d84e7dd5bb46b92362ca
--- /dev/null
+++ b/test/manager/maven/__snapshots__/index.spec.js.snap
@@ -0,0 +1,178 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`manager/maven extractAllPackageFiles should return package files info 1`] = `
+Array [
+  Object {
+    "datasource": "maven",
+    "deps": Array [
+      Object {
+        "currentValue": "42",
+        "datasource": "maven",
+        "depName": "org.example:parent",
+        "fileReplacePosition": 186,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "0.0.1",
+        "datasource": "maven",
+        "depName": "org.example:foo",
+        "fileReplacePosition": 905,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "1.0.0",
+        "datasource": "maven",
+        "depName": "org.example:bar",
+        "fileReplacePosition": 1053,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "1.8.1",
+        "datasource": "maven",
+        "depName": "org.apache.maven.scm:maven-scm-provider-gitexe",
+        "fileReplacePosition": 1485,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "0.0.1",
+        "datasource": "maven",
+        "depName": "org.example:\${artifact-id-placeholder}",
+        "fileReplacePosition": 2230,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+        "skipReason": "name-placeholder",
+      },
+      Object {
+        "currentValue": "0.0.1",
+        "datasource": "maven",
+        "depName": "\${group-id-placeholder}:baz",
+        "fileReplacePosition": 2380,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+        "skipReason": "name-placeholder",
+      },
+      Object {
+        "currentValue": "1.2.3.4",
+        "datasource": "maven",
+        "depName": "org.example:quux",
+        "fileReplacePosition": 698,
+        "groupName": "quuxVersion",
+        "propSource": "random.pom.xml",
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "1.2.3.4",
+        "datasource": "maven",
+        "depName": "org.example:quux-test",
+        "fileReplacePosition": 698,
+        "groupName": "quuxVersion",
+        "propSource": "random.pom.xml",
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "1.2.3",
+        "datasource": "maven",
+        "depName": "org.example:quuz",
+        "fileReplacePosition": 2832,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "it's not a version",
+        "datasource": "maven",
+        "depName": "org.example:quuuz",
+        "fileReplacePosition": 2972,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+        "skipReason": "not-a-version",
+      },
+      Object {
+        "currentValue": "[1.0.0]",
+        "datasource": "maven",
+        "depName": "org.example:hard-range",
+        "fileReplacePosition": 3130,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+      Object {
+        "currentValue": "\${profile-placeholder}",
+        "datasource": "maven",
+        "depName": "org.example:profile-artifact",
+        "fileReplacePosition": 3392,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+        "skipReason": "version-placeholder",
+      },
+      Object {
+        "currentValue": "2.17",
+        "datasource": "maven",
+        "depName": "org.apache.maven.plugins:maven-checkstyle-plugin",
+        "fileReplacePosition": 3668,
+        "propSource": null,
+        "registryUrls": Array [
+          "https://repo.maven.apache.org/maven2",
+          "https://maven.atlassian.com/content/repositories/atlassian-public/",
+        ],
+      },
+    ],
+    "mavenProps": Object {
+      "quuxGroup": Object {
+        "fileReplacePosition": 631,
+        "packageFile": "random.pom.xml",
+        "val": "org.example",
+      },
+      "quuxId": Object {
+        "fileReplacePosition": 667,
+        "packageFile": "random.pom.xml",
+        "val": "quux",
+      },
+      "quuxVersion": Object {
+        "fileReplacePosition": 698,
+        "packageFile": "random.pom.xml",
+        "val": "1.2.3.4",
+      },
+    },
+    "packageFile": "random.pom.xml",
+  },
+]
+`;
diff --git a/test/manager/maven/_fixtures/simple.pom.xml b/test/manager/maven/_fixtures/simple.pom.xml
index ed76aeb9981f811d276072e0f7ae9da647cd71e2..cbebf2027950817fff3da22e6763ea609435d960 100644
--- a/test/manager/maven/_fixtures/simple.pom.xml
+++ b/test/manager/maven/_fixtures/simple.pom.xml
@@ -98,6 +98,11 @@
       <artifactId>${quuxId}</artifactId>
       <version>${quuxVersion}</version>
     </dependency>
+    <dependency>
+      <groupId>${quuxGroup}</groupId>
+      <artifactId>${quuxId}-test</artifactId>
+      <version>${quuxVersion}</version>
+    </dependency>
     <dependency>
       <groupId>org.example</groupId>
       <artifactId>quuz</artifactId>
diff --git a/test/manager/maven/index.spec.js b/test/manager/maven/index.spec.js
index db5f91edc376c8b8e19cc5b88236caa2b3779f02..a52c4251f7ed9ce5180b95a08a595fe448070062 100644
--- a/test/manager/maven/index.spec.js
+++ b/test/manager/maven/index.spec.js
@@ -42,12 +42,7 @@ describe('manager/maven', () => {
     it('should return package files info', async () => {
       platform.getFile.mockReturnValueOnce(pomContent);
       const packages = await extractAllPackageFiles({}, ['random.pom.xml']);
-      expect(packages).toHaveLength(1);
-
-      const pkg = packages[0];
-      expect(pkg.packageFile).toEqual('random.pom.xml');
-      expect(pkg.datasource).toEqual('maven');
-      expect(pkg.deps).not.toBeNull();
+      expect(packages).toMatchSnapshot();
     });
   });