diff --git a/src/libaevol/7/Dna_7.cpp b/src/libaevol/7/Dna_7.cpp
index 5a61c005af6f2d78a2bbecfce9625dc97b1f8621..814713e0545f7463fb41fa37433ef9fe22f3f238 100644
--- a/src/libaevol/7/Dna_7.cpp
+++ b/src/libaevol/7/Dna_7.cpp
@@ -227,7 +227,11 @@ Mutation* Dna_7::do_switch(size_type pos
 #endif
 
   // Remove promoters containing the switched base
-  ann_chrsm_->promoter_list().remove_promoters_around(pos, Utils::mod(pos + 1, length_), length_);
+  #ifdef __EUKARYOTE
+    ann_chrsm_->promoter_list().remove_promoters_around(pos, pos + 1);
+  #else
+    ann_chrsm_->promoter_list().remove_promoters_around(pos, Utils::mod(pos + 1, length_), length_);
+  #endif
 
   // Look for potential new promoters containing the switched base
   if (length() >= PROM_SIZE)