diff --git a/uk/ac/sanger/artemis/chado/ArtemisUtils.java b/uk/ac/sanger/artemis/chado/ArtemisUtils.java
index 8fb15c6424b7436ab00ea23f760449fc1c6864f3..575deb6985a424de3aa4a9a067ea8c3a16a51cc5 100644
--- a/uk/ac/sanger/artemis/chado/ArtemisUtils.java
+++ b/uk/ac/sanger/artemis/chado/ArtemisUtils.java
@@ -46,6 +46,7 @@ import org.gmod.schema.sequence.FeatureLoc;
 import org.gmod.schema.sequence.FeatureProp;
 import org.gmod.schema.sequence.FeatureRelationship;
 
+import uk.ac.sanger.artemis.io.DatabaseDocumentEntry;
 import uk.ac.sanger.artemis.io.GFFStreamFeature;
 import uk.ac.sanger.artemis.util.DatabaseDocument;
 import uk.ac.sanger.artemis.util.StringVector;
@@ -287,7 +288,18 @@ public class ArtemisUtils
       final Enumeration id_keys= rangeHash.keys();
       uniqueName = (String)id_keys.nextElement();
       
-      DatabaseDocument doc = (DatabaseDocument)feature.getDocumentEntry().getDocument();
+      DatabaseDocument doc;
+      
+      try
+      {
+        doc = (DatabaseDocument)feature.getDocumentEntry().getDocument();
+      }
+      catch(Exception e)
+      {
+        doc = (DatabaseDocument) (
+            (DatabaseDocumentEntry)((uk.ac.sanger.artemis.Feature)feature.getUserData()).
+            getEntry().getEMBLEntry()).getDocument();
+      }
       FeatureLoc loc = new FeatureLoc();
       Feature srcFeature = new Feature();
       srcFeature.setFeatureId(Integer.parseInt(doc.getSrcFeatureId()));