diff --git a/uk/ac/sanger/artemis/FeatureSegmentVector.java b/uk/ac/sanger/artemis/FeatureSegmentVector.java
index 68765ea951d3978b9cfa34dc657b5de1c9c4f46f..d360cc5da0c8e7e7c60a5616413eb3acb3684209 100644
--- a/uk/ac/sanger/artemis/FeatureSegmentVector.java
+++ b/uk/ac/sanger/artemis/FeatureSegmentVector.java
@@ -25,6 +25,9 @@
 
 package uk.ac.sanger.artemis;
 
+import java.util.Collections;
+import java.util.Comparator;
+
 import uk.ac.sanger.artemis.util.FastVector;
 
 /**
@@ -36,6 +39,12 @@ import uk.ac.sanger.artemis.util.FastVector;
  **/
 
 public class FeatureSegmentVector {
+  
+  /**
+   *  Storage for FeatureSegment objects.
+   */
+  private FastVector vector = new FastVector ();
+  
   /**
    *  Create a new vector of FeatureSegment objects.
    **/
@@ -146,9 +155,17 @@ public class FeatureSegmentVector {
     return_vector.vector = (FastVector) vector.clone ();
     return return_vector;
   }
+  
+  public void sortByPosition() {
+    Collections.sort(vector, new PositionComparator());
+  }
+}
 
-  /**
-   *  Storage for FeatureSegment objects.
-   */
-  private FastVector vector = new FastVector ();
+class PositionComparator implements Comparator<FeatureSegment> {
+  public int compare(FeatureSegment s1, FeatureSegment s2) {
+    if(s1.getStart().getPosition() < s2.getStart().getPosition())
+      return -1;
+    else
+      return 1;
+  } 
 }