diff --git a/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/ElementDescriptor.java b/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/ElementDescriptor.java
index c4fe6f8..db2cfbc 100644
--- a/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/ElementDescriptor.java
+++ b/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/ElementDescriptor.java
@@ -74,16 +74,20 @@
     String label = element.getAttributes().get(Element.LABEL_ATTRIBUTE);

     if (label == null)

     {

-      label = element.getAttributes().get(Element.NAME_ATTRIBUTE);

+      label = element.getAttributes().get("_label");

       if (label == null)

       {

-        label = element.getAttributes().get(Element.KEY_ATTRIBUTE);

+        label = element.getAttributes().get(Element.NAME_ATTRIBUTE);

         if (label == null)

         {

-          label = element.getAttributes().get(Element.ID_ATTRIBUTE);

+          label = element.getAttributes().get(Element.KEY_ATTRIBUTE);

           if (label == null)

           {

-            return getLabel();

+            label = element.getAttributes().get(Element.ID_ATTRIBUTE);

+            if (label == null)

+            {

+              return getLabel();

+            }

           }

         }

       }

diff --git a/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/descriptors/cdo/RevisionDescriptor.java b/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/descriptors/cdo/RevisionDescriptor.java
index cd7d0be..28db9c9 100644
--- a/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/descriptors/cdo/RevisionDescriptor.java
+++ b/org.eclipse.emf.cdo.threedee.common/src/org/eclipse/emf/cdo/threedee/common/descriptors/cdo/RevisionDescriptor.java
@@ -32,6 +32,7 @@
   protected void doInitElement(Object object, Element element)

   {

     InternalCDORevision revision = (InternalCDORevision)object;

+    element.setAttribute("_label", revision);

     element.setAttribute("_id", revision.getID());

     element.setAttribute("_class", revision.getEClass().getName());

     element.setAttribute("_branch", revision.getBranch());

diff --git a/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java
index 52c8cf2..4053ce0 100644
--- a/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java
+++ b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java
@@ -941,10 +941,14 @@
 

           for (Entry<String, String> entry : entries)

           {

-            String label = entry.getKey() + " = " + entry.getValue();

+            String key = entry.getKey();

+            if (!"_label".equals(key))

+            {

+              String label = key + " = " + entry.getValue();

 

-            info = new Info(row++, label, false);

-            infos.add(info);

+              info = new Info(row++, label, false);

+              infos.add(info);

+            }

           }

         }

       }