diff --git a/artemis_sqlmap/FeatureSynonym.xml b/artemis_sqlmap/FeatureSynonym.xml
index b98d2c2ac29b8e5287fefc12e598f8fb13bd2abc..c7eade932e9d5deb4697613aa41c666af60073bf 100644
--- a/artemis_sqlmap/FeatureSynonym.xml
+++ b/artemis_sqlmap/FeatureSynonym.xml
@@ -27,7 +27,7 @@
    	    <result property="pub.pubId" column="pub_id"/>
    	    <result property="current" column="is_current"/>
    	    <result property="internal" column="is_internal"/>
-   	    <result property="synonym.synonymId" column="synonym_id"/>
+		<result property="synonym.synonymId" column="synonym_id"/>
    	    <result property="synonym.name" column="name"/>
    	    <result property="synonym.synonymSgml" column="synonym_sgml"/>
   	    <result property="synonym.cvTerm.cvTermId" column="type_id" />
@@ -41,6 +41,15 @@
    	    <result property="internal" column="is_internal"/>
    	    <result property="synonym" column="synonym_id" select="getSynonymBySynonymId"/>
      </resultMap>
+	
+	 <resultMap id="map-alias-part-lazy2" 
+               class="FeatureSynonym">
+   	    <result property="feature.featureId" column="feature_id"/>
+   	    <result property="pub.pubId" column="pub_id"/>
+   	    <result property="current" column="is_current"/>
+   	    <result property="internal" column="is_internal"/>
+		<result property="synonym" resultMap="Synonym.map-synonym-lazy"/>
+     </resultMap>
      
      <resultMap id="map-alias-lazy" 
                class="FeatureSynonym">
@@ -93,6 +102,15 @@
 	-->
     </select>
 	
+	<select id="getFeatureSynonymsByFeatureIds" resultMap="map-alias-part-lazy2">
+      SELECT fs.*, s.name, s.synonym_sgml, s.type_id 
+      FROM feature_synonym fs 
+      LEFT JOIN synonym s  ON fs.synonym_id=s.synonym_id 
+	  WHERE fs.feature_id IN 	
+	  <iterate open="(" close=")" conjunction=","> $[]$ </iterate>
+    </select>
+	
+	
     <select id="getLazyFeatureSynonymsByUniquename" resultMap="map-alias-part-lazy"
             parameterClass="FeatureSynonym">
       SELECT fs.* 
diff --git a/uk/ac/sanger/artemis/chado/GmodDAO.java b/uk/ac/sanger/artemis/chado/GmodDAO.java
index a9e41d91628999c7baa38168024f2bfb646d90f9..e3fef0722abbc1ac60d2a2eaa3ee1e24968d39c6 100644
--- a/uk/ac/sanger/artemis/chado/GmodDAO.java
+++ b/uk/ac/sanger/artemis/chado/GmodDAO.java
@@ -139,6 +139,13 @@ public abstract class GmodDAO
    */
   public abstract List getFeatureSynonymsBySrcFeature(Feature srcFeature);
   
+  /**
+   * Return the FeatureSynonym's for all Feature's given their feature_id's
+   * @param 
+   * @return
+   */
+  public abstract List getFeatureSynonymsByFeatureIds(List featureIds);
+  
   /**
    * Return a list of features that have this particular cvterm 
    * @param cvTermName the CvTerm name
diff --git a/uk/ac/sanger/artemis/chado/IBatisDAO.java b/uk/ac/sanger/artemis/chado/IBatisDAO.java
index 76612f15ec5271af5cfabca74804388d101a6fc6..b4817b7e8c6189ac56902fda3ae5355882215752 100644
--- a/uk/ac/sanger/artemis/chado/IBatisDAO.java
+++ b/uk/ac/sanger/artemis/chado/IBatisDAO.java
@@ -387,6 +387,12 @@ public class IBatisDAO extends GmodDAO
       sqlMap.queryForList("getFeatureSynonymsBySrcFeature", srcFeature);
   }
   
+  public List getFeatureSynonymsByFeatureIds(final List featuresIds)
+  {
+    return
+      sqlMap.queryForList("getFeatureSynonymsByFeatureIds", featuresIds);
+  }
+  
   /**
    * Return all the FeatureDbXRefs for a given feature, <b>specified by name</b>, or all if 
    * <code>null</code> is passed
diff --git a/uk/ac/sanger/artemis/chado/JdbcDAO.java b/uk/ac/sanger/artemis/chado/JdbcDAO.java
index c1d80b26aee8a9e92a95a4972d5ce3f5724faa6f..e8c2492c83e38967eb4a318cc035e73d79caab9a 100644
--- a/uk/ac/sanger/artemis/chado/JdbcDAO.java
+++ b/uk/ac/sanger/artemis/chado/JdbcDAO.java
@@ -136,6 +136,11 @@ public class JdbcDAO extends GmodDAO
     return null;
   }
 
+  public List getFeatureSynonymsByFeatureIds(final List featuresIds)
+  {
+    return null;
+  }
+  
   public Feature getResiduesByUniqueName(String uniqueName)
   {
     // TODO Auto-generated method stub