diff --git a/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm
index f2c83d419786848a4df547ebf98abf13877de6c2..ecbfb0729755405f745c9a7136141a6532abe463 100644
--- a/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm
+++ b/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm
@@ -468,10 +468,13 @@ sub _slice_fetch {
         if ( $slice_start > $slice_end ) {
           $constraint .=
               "${tab_syn}.seq_region_id = $sr_id "
-            . "AND ((${tab_syn}.seq_region_start >= $slice_start "
-            . "OR ${tab_syn}.seq_region_start <= $slice_end) "
-            . "OR (${tab_syn}.seq_region_end >= $slice_start "
-            . "OR ${tab_syn}.seq_region_end <= $slice_end))";
+            . "AND ( ${tab_syn}.seq_region_start >= $slice_start "
+            . "OR ${tab_syn}.seq_region_start <= $slice_end "
+            . "OR ${tab_syn}.seq_region_end >= $slice_start "
+            . "OR ${tab_syn}.seq_region_end <= $slice_end "
+            . "OR ${tab_syn}.seq_region_start > ${tab_syn}.seq_region_end)";
+
+
         } else {
           $constraint .=
               "${tab_syn}.seq_region_id = $sr_id "