diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/collection/GroupingDAGTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/collection/GroupingDAGTest.java
index 434caa70937b45dada976c20b0dc1aa756b10c0a..a97b12192ec32ebca186b16ebdec90f05fe8158e 100644
--- a/common/sourceTest/java/ch/systemsx/cisd/common/collection/GroupingDAGTest.java
+++ b/common/sourceTest/java/ch/systemsx/cisd/common/collection/GroupingDAGTest.java
@@ -29,7 +29,6 @@ import java.util.Map;
 import org.testng.AssertJUnit;
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.common.collection.GroupingDAG;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 
 /**
@@ -62,7 +61,6 @@ public class GroupingDAGTest extends AssertJUnit
             adjacencyMap.put(childCode, Arrays.asList("CHAIN_" + (i - 1)));
         }
 
-
         List<List<String>> groups = sortTopologically(adjacencyMap);
 
         assertAllEntitiesPresent(adjacencyMap.keySet(), groups);
@@ -81,6 +79,24 @@ public class GroupingDAGTest extends AssertJUnit
         }
     }
 
+    @Test
+    public void testIndependentWithOneExtraPair()
+    {
+        HashMap<String, Collection<String>> adjacencyMap =
+                new HashMap<String, Collection<String>>();
+
+        adjacencyMap.put("A", new ArrayList<String>());
+        adjacencyMap.put("B", Arrays.asList("A"));
+        adjacencyMap.put("C", Arrays.asList("A", "B"));
+        adjacencyMap.put("D", Arrays.asList("C", "B", "A"));
+        adjacencyMap.put("E", Arrays.asList("C", "D"));
+        adjacencyMap.put("X", Arrays.asList("Z"));
+
+        List<List<String>> groups = sortTopologically(adjacencyMap);
+
+        assertEquals("[[E, X], [D, Z], [C], [B], [A]]", groups.toString());
+    }
+
     @Test
     public void testIndependent()
     {