diff --git a/src/it/multi-module-test/expected-tree.txt b/src/it/multi-module-test/expected-tree.txt
index 2db1d03..922ce34 100644
--- a/src/it/multi-module-test/expected-tree.txt
+++ b/src/it/multi-module-test/expected-tree.txt
@@ -1,3 +1,6 @@
 org.apache.maven.its.dependency-tree:module-z-deps-y:jar:1.0-SNAPSHOT
 \- org.apache.maven.its.dependency-tree:module-y-deps-x:jar:1.0-SNAPSHOT:compile
-   \- org.apache.maven.its.dependency-tree:module-x:jar:1.0-SNAPSHOT:compile
+   +- commons-net:commons-net:jar:3.2:compile
+   +- org.apache.maven.its.dependency-tree:module-x:jar:1.0-SNAPSHOT:compile
+   |  \- org.apache.commons:commons-lang3:jar:3.0:compile
+   \- commons-io:commons-io:jar:2.2:compile
diff --git a/src/it/multi-module-test/moduleX/pom.xml b/src/it/multi-module-test/module-x/pom.xml
similarity index 90%
rename from src/it/multi-module-test/moduleX/pom.xml
rename to src/it/multi-module-test/module-x/pom.xml
index 407c043..bb69f27 100644
--- a/src/it/multi-module-test/moduleX/pom.xml
+++ b/src/it/multi-module-test/module-x/pom.xml
@@ -31,12 +31,11 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
 
-  <dependencyManagement>
-  </dependencyManagement>
-
   <dependencies>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>3.0</version>
+    </dependency>
   </dependencies>
-
-  <build>
-  </build>
 </project>
diff --git a/src/it/multi-module-test/moduleX/src/main/java/org/apache/maven/shared/dependency/SimpleClass.java b/src/it/multi-module-test/module-x/src/main/java/org/apache/maven/shared/dependency/SimpleClass.java
similarity index 100%
rename from src/it/multi-module-test/moduleX/src/main/java/org/apache/maven/shared/dependency/SimpleClass.java
rename to src/it/multi-module-test/module-x/src/main/java/org/apache/maven/shared/dependency/SimpleClass.java
diff --git a/src/it/multi-module-test/moduleX/pom.xml b/src/it/multi-module-test/module-y-deps-x/pom.xml
similarity index 67%
copy from src/it/multi-module-test/moduleX/pom.xml
copy to src/it/multi-module-test/module-y-deps-x/pom.xml
index 407c043..93e4281 100644
--- a/src/it/multi-module-test/moduleX/pom.xml
+++ b/src/it/multi-module-test/module-y-deps-x/pom.xml
@@ -24,7 +24,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.apache.maven.its.dependency-tree</groupId>
-  <artifactId>module-x</artifactId>
+  <artifactId>module-y-deps-x</artifactId>
   <version>1.0-SNAPSHOT</version>
 
   <properties>
@@ -32,11 +32,29 @@
   </properties>
 
   <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.maven.its.dependency-tree</groupId>
+        <artifactId>module-x</artifactId>
+        <version>1.0-SNAPSHOT</version>
+      </dependency>
+    </dependencies>
   </dependencyManagement>
 
   <dependencies>
+    <dependency>
+      <groupId>commons-net</groupId>
+      <artifactId>commons-net</artifactId>
+      <version>3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.dependency-tree</groupId>
+      <artifactId>module-x</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.2</version>
+    </dependency>
   </dependencies>
-
-  <build>
-  </build>
 </project>
diff --git a/src/it/multi-module-test/moduleYDepsX/src/main/java/org/apache/maven/shared/dependency/DependentClass.java b/src/it/multi-module-test/module-y-deps-x/src/main/java/org/apache/maven/shared/dependency/DependentClass.java
similarity index 100%
rename from src/it/multi-module-test/moduleYDepsX/src/main/java/org/apache/maven/shared/dependency/DependentClass.java
rename to src/it/multi-module-test/module-y-deps-x/src/main/java/org/apache/maven/shared/dependency/DependentClass.java
diff --git a/src/it/multi-module-test/moduleZDepsY/pom.xml b/src/it/multi-module-test/module-z-deps-y/pom.xml
similarity index 100%
rename from src/it/multi-module-test/moduleZDepsY/pom.xml
rename to src/it/multi-module-test/module-z-deps-y/pom.xml
diff --git a/src/it/multi-module-test/moduleZDepsY/src/main/java/org/apache/maven/shared/dependency/ContainingClass.java b/src/it/multi-module-test/module-z-deps-y/src/main/java/org/apache/maven/shared/dependency/ContainingClass.java
similarity index 100%
rename from src/it/multi-module-test/moduleZDepsY/src/main/java/org/apache/maven/shared/dependency/ContainingClass.java
rename to src/it/multi-module-test/module-z-deps-y/src/main/java/org/apache/maven/shared/dependency/ContainingClass.java
diff --git a/src/it/multi-module-test/moduleYDepsX/pom.xml b/src/it/multi-module-test/moduleYDepsX/pom.xml
deleted file mode 100644
index a780f2b..0000000
--- a/src/it/multi-module-test/moduleYDepsX/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.dependency-tree</groupId>
-  <artifactId>module-y-deps-x</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.apache.maven.its.dependency-tree</groupId>
-        <artifactId>module-x</artifactId>
-        <version>1.0-SNAPSHOT</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.its.dependency-tree</groupId>
-      <artifactId>module-x</artifactId>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.8</version>
-        <dependencies>
-          <dependency>
-            <groupId>@project.groupId@</groupId>
-            <artifactId>@project.artifactId@</artifactId>
-            <version>@project.version@</version>
-          </dependency>
-        </dependencies>
-        <executions>
-          <execution>
-            <id>default</id>
-            <phase>validate</phase>
-            <configuration>
-              <outputFile>target/tree.txt</outputFile>
-            </configuration>
-            <goals>
-              <goal>tree</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.its.dependency-tree</groupId>
-        <artifactId>multi-module-test-plugin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <extensions>true</extensions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/src/it/multi-module-test/pom.xml b/src/it/multi-module-test/pom.xml
index 8ec4173..e510142 100644
--- a/src/it/multi-module-test/pom.xml
+++ b/src/it/multi-module-test/pom.xml
@@ -28,25 +28,19 @@
   <version>1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
-  <name>VerboseTest</name>
+  <name>Reactor Resolution Test</name>
   <description>
-    Test verbose dependency-tree with actual Maven version through old dependency:tree 2.4, before the feature was removed.
+    Test that dependency-tree with dependencies from reactor can be displayed.
   </description>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
 
-  <dependencyManagement>
-  </dependencyManagement>
-
-  <dependencies>
-  </dependencies>
-
   <modules>
-    <module>moduleX</module>
-    <module>moduleYDepsX</module>
-    <module>moduleZDepsY</module>
+    <module>module-x</module>
+    <module>module-y-deps-x</module>
+    <module>module-z-deps-y</module>
   </modules>
 
 </project>
diff --git a/src/it/multi-module-test/verify.bsh b/src/it/multi-module-test/verify.bsh
index ea96b6e..27da4ab 100644
--- a/src/it/multi-module-test/verify.bsh
+++ b/src/it/multi-module-test/verify.bsh
@@ -21,13 +21,13 @@
 
 import org.codehaus.plexus.util.*;
 
-String actual = FileUtils.fileRead( new File( basedir, "moduleZDepsY/target/tree.txt" ) );
+String actual = FileUtils.fileRead( new File( basedir, "module-z-deps-y/target/tree.txt" ) );
 String expected = FileUtils.fileRead( new File( basedir, "expected-tree.txt" ) );
 
 actual = actual.replaceAll( "[\n\r]+", "\n" );
 expected = expected.replaceAll( "[\n\r]+", "\n" );
 
-System.out.println( "Checking dependency tree..." );
+System.out.println( "Checking module-z-deps-y dependency tree..." );
 
 if ( !actual.equals( expected ) )
 {
