diff --git a/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm
index 5f2dc2227c25f744fb9f3bfbc492fef4339ca7d8..3fdcb860e5211ee94459df1ee84b73c51254dc53 100644
--- a/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm
+++ b/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm
@@ -291,14 +291,15 @@ sub fetch_by_region {
 
 
       # try synonyms
-      my $syn_sql_sth = $self->prepare("select s.name from seq_region s, seq_region_synonym ss where s.seq_region_id = ss.seq_region_id and ss.synonym = ?");
+      my $syn_sql_sth = $self->prepare("select s.name, s.coord_system_id from seq_region s, seq_region_synonym ss where s.seq_region_id = ss.seq_region_id and ss.synonym = ?");
       $syn_sql_sth->bind_param(1, $seq_region_name, SQL_VARCHAR);
       $syn_sql_sth->execute();
       my $new_name;
-      $syn_sql_sth->bind_columns( \$new_name);
+      my $new_coord_system;
+      $syn_sql_sth->bind_columns( \$new_name, \$new_coord_system);
       if($syn_sql_sth->fetch){
-	$syn_sql_sth->finish;
-	return $self->fetch_by_region($coord_system_name, $new_name, $start, $end, $strand, $version, $no_fuzz);
+        $syn_sql_sth->finish;
+        return $self->fetch_by_region($new_coord_system, $new_name, $start, $end, $strand, $version, $no_fuzz);
       }
       $syn_sql_sth->finish;