diff --git a/uk/ac/sanger/artemis/io/GFFStreamFeature.java b/uk/ac/sanger/artemis/io/GFFStreamFeature.java
index 9fa2cc0cf70f44bf965200d5c149b72800805678..3d4923b22341513667a1d294727d80a206de1f75 100644
--- a/uk/ac/sanger/artemis/io/GFFStreamFeature.java
+++ b/uk/ac/sanger/artemis/io/GFFStreamFeature.java
@@ -1320,6 +1320,36 @@ public class GFFStreamFeature extends SimpleDocumentFeature
     return false;
   }
   
+  /**
+   * Test if this is feature is marked as having a stop codon
+   * redefined as selenocysteine
+   * @param f
+   * @return
+   */
+  public static boolean isSelenocysteine(Feature f)
+  {
+    if(!(f instanceof GFFStreamFeature))
+      return false;
+    try
+    {
+      ChadoCanonicalGene gffGene = ((GFFStreamFeature)f).getChadoGene();
+      if(gffGene == null)
+        return false;
+      String transcript = gffGene.getTranscriptFromName(
+          GeneUtils.getUniqueName(f));
+      if(transcript == null)
+        return false;
+      Feature pep = gffGene.getProteinOfTranscript(transcript);
+      if(pep == null)
+        return false;
+      if(pep.getQualifierByName("stop_codon_redefined_as_selenocysteine") != null)
+        return true;
+    }
+    catch (Exception e){}
+
+    return false;
+  }
+  
   public static void main(String args[])
   {
     Key key = new Key("region");
diff --git a/uk/ac/sanger/artemis/io/ValidateFeature.java b/uk/ac/sanger/artemis/io/ValidateFeature.java
index d1dc8836d25054e5a3d4a069eeb0c1a360e39c49..f62ed79dbe2d4c883e1b398973a900ea6d4394e1 100644
--- a/uk/ac/sanger/artemis/io/ValidateFeature.java
+++ b/uk/ac/sanger/artemis/io/ValidateFeature.java
@@ -677,6 +677,9 @@ public class ValidateFeature
     if(!cds_predicate.testPredicate (f)) 
       return false;
 
+    if(feature instanceof GFFStreamFeature && GFFStreamFeature.isSelenocysteine(feature))
+      return false;
+
     final AminoAcidSequence aa = f.getTranslation ();
     return aa.containsStopCodon ();
   }