diff --git a/uk/ac/sanger/artemis/util/DatabaseDocument.java b/uk/ac/sanger/artemis/util/DatabaseDocument.java
index b7ff76d3ded1df7bbec2d4e4d7c0c1e98ed4e222..d6b95656d82b2a9a76f62f7e8fdc612faf4b81bd 100644
--- a/uk/ac/sanger/artemis/util/DatabaseDocument.java
+++ b/uk/ac/sanger/artemis/util/DatabaseDocument.java
@@ -493,16 +493,17 @@ public class DatabaseDocument extends Document
           Iterator it = featureLocs.iterator();
           final FeatureLoc featureLoc = (FeatureLoc)it.next();
 
-          srcFeature = featureLoc.getFeatureBySrcFeatureId();
+          int srcfeatureid = featureLoc.getFeatureBySrcFeatureId().getFeatureId();
+          srcFeature = dao.getFeatureById(srcfeatureid);
           setName(srcFeature.getUniqueName());
-          this.srcFeatureId = Integer.toString(srcFeature.getFeatureId());
+          this.srcFeatureId = Integer.toString(srcfeatureid);     
         }
         else
         {
           srcFeature = dao.getFeatureById(Integer.parseInt(srcFeatureId));
         }
         
-        ByteBuffer entryBuffer = getFeaturesInRange(srcFeature, range, dao);
+        final ByteBuffer entryBuffer = getFeaturesInRange(srcFeature, range, dao);
         getChadoSequence(srcFeature, entryBuffer);
 
         return new ByteArrayInputStream(entryBuffer.getBytes());