diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java b/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java
index 4e0e8f43332c936afed95b1394c8d9cd62c65ad1..be39a04a156c453ed79e00ad06165cfb52cfd9f6 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java
@@ -114,20 +114,36 @@ public class EntityGraph<N extends Node<?>>
             List<EdgeNodePair> list = adjacencyMap.get(node);
             if (list.isEmpty() && node.getEntityKind().equals("DATA_SET") == false)
             {
-                sb.append("\"" + node.getCode() + "(" + node.getEntityKind().charAt(0) + ")\";");
+                sb.append(getRightHandNodeRep(node));
                 sb.append(System.getProperty("line.separator"));
                 continue;
             }
             for (EdgeNodePair edgeNodePair : list)
             {
                 Node<?> neighbourNode = edgeNodePair.getNode();
-                sb.append("\"" + node.getCode() + "(" + node.getEntityKind().charAt(0) + ")\" -> \""
-                        + neighbourNode.getCode() + "(" + neighbourNode.getEntityKind().charAt(0) + ")\";");
+                sb.append("\"" + node.getCode() + "(" + node.getEntityKind().charAt(0) + getDifferentiatorStr(node) + ")\" -> "
+                        + getRightHandNodeRep(neighbourNode));
                 sb.append(System.getProperty("line.separator"));
             }
         }
         return sb.toString();
     }
+
+    private String getRightHandNodeRep(Node<?> node)
+    {
+        return "\"" + node.getCode() + "(" + node.getEntityKind().charAt(0) + getDifferentiatorStr(node) + ")\";";
+    }
+
+    private String getDifferentiatorStr(Node<?> node)
+    {
+        String differentiatorStr = "";
+        if (node.getEntityKind().equals("EXPERIMENT")) // in order to differentiate between experiments in the same space but under different projects
+        {
+            differentiatorStr =
+                    node.getPermId().substring(node.getPermId().indexOf('-') + 1);
+        }
+        return differentiatorStr;
+    }
     
     private void printGraphInDOT(String spaceId)
     {