diff --git a/uk/ac/sanger/artemis/components/DatabaseJFrame.java b/uk/ac/sanger/artemis/components/DatabaseJFrame.java
index 7c13908d954ae1bc6270159b90ebebc0f2520f0d..40dde5a30b47c1e77b482f0895c8de741554310c 100644
--- a/uk/ac/sanger/artemis/components/DatabaseJFrame.java
+++ b/uk/ac/sanger/artemis/components/DatabaseJFrame.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/DatabaseJFrame.java,v 1.7 2005-11-22 11:02:31 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/DatabaseJFrame.java,v 1.8 2006-01-10 12:04:32 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.components;
@@ -128,7 +128,8 @@ public class DatabaseJFrame extends JFrame
       node_name = entry_source.getSelectedNode(tree);
       String id = entry_source.getEntryID(node_name);
       if(id != null)
-        getEntryEditFromDatabase(id, entry_source, tree, art_main);
+        getEntryEditFromDatabase(id, entry_source, tree,
+                                 art_main, node_name);
     }
     catch(NullPointerException npe)
     {
@@ -142,7 +143,7 @@ public class DatabaseJFrame extends JFrame
    */
   private void getEntryEditFromDatabase(final String id,
       final DatabaseEntrySource entry_source, final JTree tree,
-      final ArtemisMain art_main)
+      final ArtemisMain art_main, final String node_name)
   {
     SwingWorker entryWorker = new SwingWorker()
     {
@@ -164,6 +165,18 @@ public class DatabaseJFrame extends JFrame
 
           final Entry entry = entry_source.getEntry(id, schema,
                                                     progress_listener);
+
+
+          DatabaseDocumentEntry db_entry =
+                         (DatabaseDocumentEntry)entry.getEMBLEntry();
+
+          int ind = 0;
+          String name = node_name;
+          if( (ind = name.lastIndexOf("-")) > -1)
+            name = name.substring(ind+1).trim();
+
+          ((DatabaseDocument)db_entry.getDocument()).setName(name);
+
           if(entry == null)
           {
             tree.setCursor(cdone);
@@ -176,8 +189,8 @@ public class DatabaseJFrame extends JFrame
           // add gff entries
           if(splitGFFEntry)
           {
-            DatabaseDocumentEntry db_entry = 
-                         (DatabaseDocumentEntry)entry.getEMBLEntry();
+//          DatabaseDocumentEntry db_entry = 
+//                       (DatabaseDocumentEntry)entry.getEMBLEntry();
 
             final DatabaseDocumentEntry[] entries = entry_source.makeFromGff(
                         (DatabaseDocument)db_entry.getDocument(), id, schema);
diff --git a/uk/ac/sanger/artemis/util/DatabaseDocument.java b/uk/ac/sanger/artemis/util/DatabaseDocument.java
index 0b1400a7a6120d5fef3690f847d8653910e97f33..f59394a21607e0e46a331a773d7f6001e3aad7b2 100644
--- a/uk/ac/sanger/artemis/util/DatabaseDocument.java
+++ b/uk/ac/sanger/artemis/util/DatabaseDocument.java
@@ -210,6 +210,17 @@ public class DatabaseDocument extends Document
     return name;
   }
 
+
+  /**
+  *
+  *  Set the name of this document.
+  *
+  */
+  public void setName(String name)
+  {
+    this.name = name;
+  }
+
   /**
    * 
    * Return a Document with the last element stripped off.
@@ -401,7 +412,7 @@ public class DatabaseDocument extends Document
     ByteBuffer this_buff;
 
     int feature_size = featList.size();
-    Hashtable hstore = new Hashtable(feature_size);
+    Hashtable id_store = new Hashtable(feature_size);
 
 // build feature name store
     for(int i = 0; i < feature_size; i++)
@@ -409,7 +420,8 @@ public class DatabaseDocument extends Document
       Feature feat = (Feature)featList.get(i);
       String name       = feat.getUniquename();
       String feature_id = Integer.toString(feat.getId());
-      hstore.put(feature_id, name);
+
+      id_store.put(feature_id, name);
     }
 
     for(int i = 0; i < feature_size; i++)
@@ -425,11 +437,11 @@ public class DatabaseDocument extends Document
       String propTypeName     = getCvtermName(null, prop_type_id);
       String timelastmodified = feat.getTimelastmodified().toString();
       String feature_id       = Integer.toString(feat.getId());
-//    hstore.put(feature_id, name);
+
 
       String parent_id = feat.getObject_id();
-      if(parent_id != null && hstore.containsKey(parent_id))
-        parent_id = (String)hstore.get(parent_id);
+      if(parent_id != null && id_store.containsKey(parent_id))
+        parent_id = (String)id_store.get(parent_id);
 
       // make gff format
 
@@ -543,14 +555,16 @@ public class DatabaseDocument extends Document
       buffers[i] = new ByteBuffer();
 
     String parentFeature = getFeatureNameJdbc(parentFeatureID, conn, schema);
-    Hashtable hstore = new Hashtable();
+    Hashtable id_store = new Hashtable();
+
     ByteBuffer this_buff;
 
     while(rs.next())
     {
       String name       = rs.getString("uniquename");
       String feature_id = rs.getString("feature_id");
-      hstore.put(feature_id, name);
+
+      id_store.put(feature_id, name);
     }
 
     rs.first();
@@ -566,11 +580,10 @@ public class DatabaseDocument extends Document
       String propTypeName     = getCvtermName(conn, prop_type_id);
       String timelastmodified = rs.getString("timelastmodified");
       String feature_id       = rs.getString("feature_id");
-//    hstore.put(feature_id, name);
 
       String parent_id = rs.getString("object_id");
-      if(parent_id != null && hstore.containsKey(parent_id))
-        parent_id = (String)hstore.get(parent_id);
+      if(parent_id != null && id_store.containsKey(parent_id))
+        parent_id = (String)id_store.get(parent_id);
 
       // make gff format