diff --git a/uk/ac/sanger/artemis/components/Selector.java b/uk/ac/sanger/artemis/components/Selector.java
index 9ba795c50e35a2ecc21961cb1df5f9f9d3986583..8732111affd186de60f823aeaf97a5acc21b1fce 100644
--- a/uk/ac/sanger/artemis/components/Selector.java
+++ b/uk/ac/sanger/artemis/components/Selector.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/Selector.java,v 1.9 2007-10-21 11:34:57 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/Selector.java,v 1.10 2008-01-17 12:31:06 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.components;
@@ -39,6 +39,8 @@ import uk.ac.sanger.artemis.util.StringVector;
 
 import java.awt.*;
 import java.awt.event.*;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.StringTokenizer;
 
 import javax.swing.*;
@@ -48,7 +50,7 @@ import javax.swing.*;
  *  features in an EntryGroup on key and contents.
  *
  *  @author Kim Rutherford <kmr@sanger.ac.uk>
- *  @version $Id: Selector.java,v 1.9 2007-10-21 11:34:57 tjc Exp $
+ *  @version $Id: Selector.java,v 1.10 2008-01-17 12:31:06 tjc Exp $
  **/
 
 public class Selector extends JFrame
@@ -854,6 +856,8 @@ public class Selector extends JFrame
           
           final Location location = feature.getLocation();
           final RangeVector ranges = location.getRanges();
+          Collections.sort(ranges, new RangeComparator());
+          
           final Strand strand = feature.getStrand();
           int pos1;
           int pos2;
@@ -892,10 +896,11 @@ public class Selector extends JFrame
               if(bases.length < 3)
                 return true;
               
+              int length = feature_range.getCount();
               if( bases[0] != 'g' ||
                  (bases[1] != 't' && bases[1] != 'c') ||
-                  bases[bases.length-1] != 'g' ||
-                  bases[bases.length-2] != 'a' )
+                  bases[length-1] != 'g' ||
+                  bases[length-2] != 'a' )
               {
                 return true;
               }
@@ -1022,5 +1027,15 @@ public class Selector extends JFrame
   {
     return entry_group;
   }
+  
+  class RangeComparator implements Comparator
+  {
+    public int compare(Object o1, Object o2)
+    {
+      int start1 = ((Range)o1).getStart();
+      int start2 = ((Range)o2).getStart();
+      return start1-start2;
+    }
+  }
 
 }