diff --git a/uk/ac/sanger/artemis/io/GFFDocumentEntry.java b/uk/ac/sanger/artemis/io/GFFDocumentEntry.java
index f8f2c77f6622344fbc8b58fb74f49b846686b212..fd84eaf80528345cdabf72b67d8ec66bcb564311 100644
--- a/uk/ac/sanger/artemis/io/GFFDocumentEntry.java
+++ b/uk/ac/sanger/artemis/io/GFFDocumentEntry.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/io/GFFDocumentEntry.java,v 1.10 2005-04-22 15:04:25 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/GFFDocumentEntry.java,v 1.11 2005-04-27 08:26:58 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.io;
@@ -36,7 +36,7 @@ import java.util.Vector;
  *  A DocumentEntry that can read an GFF entry from a Document.
  *
  *  @author Kim Rutherford
- *  @version $Id: GFFDocumentEntry.java,v 1.10 2005-04-22 15:04:25 tjc Exp $
+ *  @version $Id: GFFDocumentEntry.java,v 1.11 2005-04-27 08:26:58 tjc Exp $
  **/
 
 public class GFFDocumentEntry extends SimpleDocumentEntry
@@ -178,10 +178,10 @@ public class GFFDocumentEntry extends SimpleDocumentEntry
       {
         if(this_feature.getKey().getKeyString().equals("CDS"))
         {
-          if(this_feature.getQualifierByName("Parent") != null)
+          if(this_feature.getQualifierByName("ID") != null)
           {
             final StringVector values =
-              this_feature.getQualifierByName("Parent").getValues();
+              this_feature.getQualifierByName("ID").getValues();
             group_name = values.elementAt(0);
 
             // check the parent is a gene
@@ -191,53 +191,36 @@ public class GFFDocumentEntry extends SimpleDocumentEntry
         }
         else
           continue;
-/*
-        if(this_feature.getQualifierByName("gene") == null)
+
+        final FeatureVector other_features =
+          (FeatureVector) this_strand_feature_groups.get(group_name);
+
+        if(other_features == null)
         {
-          if(this_feature.getQualifierByName("group") == null)
-          {
-            // no gene names and no groups - give up
-            return;
-          } 
-          else
-          {
-            final StringVector values =
-              this_feature.getQualifierByName("group").getValues();
-            if(values == null) 
-              throw new Error("internal error - " +
-                               "no value for group qualifier");
-            else
-              group_name = values.elementAt(0);
-          }
-        } 
+          final FeatureVector new_feature_vector = new FeatureVector();
+          new_feature_vector.add(this_feature);
+          this_strand_feature_groups.put(group_name, new_feature_vector);
+        }
         else
         {
-          final StringVector values =
-            this_feature.getQualifierByName("gene").getValues();
-          if(values == null) 
-            throw new Error("internal error - " +
-                            "no value for gene qualifier");
-          
-          group_name = values.elementAt(0);
+          StringVector values =
+                this_feature.getQualifierByName("Parent").getValues();
+          String parent = values.elementAt(0);
+
+          Feature stored_feature = other_features.featureAt(0);
+          values = stored_feature.getQualifierByName("Parent").getValues();
+  
+          // same ID with same Parent
+          if(parent.equals(values.elementAt(0)))
+            other_features.add(this_feature);
         }
-*/
+
       }
       catch(InvalidRelationException e) 
       {
         throw new Error("internal error - unexpected exception: " + e);
       }
 
-      final FeatureVector other_features =
-        (FeatureVector) this_strand_feature_groups.get(group_name);
-
-      if(other_features == null) 
-      {
-        final FeatureVector new_feature_vector = new FeatureVector();
-        new_feature_vector.add(this_feature);
-        this_strand_feature_groups.put(group_name, new_feature_vector);
-      } 
-      else 
-        other_features.add(this_feature);
     }
 
     combineFeaturesFromHash(forward_feature_groups);