diff --git a/Functions.py b/Functions.py
index b47b6f911ba4b35e58fc5c174c533d9639908e9a..be2508f44be10050649d9a6fb74da851d13e05eb 100644
--- a/Functions.py
+++ b/Functions.py
@@ -342,6 +342,7 @@ def reset_var(variation):
     variation.type='' # type énuméré.
     variation.size_var=0
     variation.start_var=''
+    variation.start_var_index=0
     variation.ref=''
     variation.alt=''
 
@@ -359,27 +360,29 @@ def get_old_new_pos_insertion(variation,feat_start,list_segfeat_azu,feat):
     pos_new=str(start_var-start_feat+1)
     return [pos_old,pos_new] # pos_old is the base right after the insertion. pos_new is the base after the first inserted base.
 
-def get_old_new_pos_deletion(variation,feat_start,list_segfeat_azu,feat,i):
+def get_old_new_pos_deletion(variation,feat_start,list_segfeat_azu,feat):
+    i=variation.start_var_index
     if i==0:
-        pos_old=int(Segments[variation.start_var].start)-int(feat_start)+Features[feat].pos_start+1
+        pos_old=int(Segments[variation.start_var].start)-int(feat_start)+Features[feat].pos_start-1
     else:
         pos_old=int(Segments[variation.start_var].start)-int(feat_start)+1
-        if pos_old<1:
-            pos_old=1
+        if pos_old<0:
+            pos_old=0
 
     if variation.last_seg_in_target=="": # deletion of the beggining of the feature, so no segment placed in the new genome yet. 
-        pos_new=1
+        pos_new=0
     else:
         start_feat=get_feature_start_on_genome(list_segfeat_azu[0][1:],feat) 
         start_var=int(segments_on_target_genome[variation.last_seg_in_target][2])+1 
         pos_new=str(start_var-start_feat+1)
-    return [pos_old,pos_new] # pos_old is the first base deleted. pos_new is the base right after the deletion
+    return [pos_old,pos_new] # pos_old and pos_new are the bases right before the deletion
 
 
 
 def init_new_var(variation,type,list_segfeat_nb,list_segfeat_azu,i,j,seg_seq,feature):
     variation.type=type
     variation.start_var=list_segfeat_nb[i][1:]
+    variation.start_var_index=i
     if type=="substitution":
         variation.start_on_target=list_segfeat_azu[j][1:]
         variation.ref=get_segment_sequence(seg_seq,list_segfeat_nb[i])
diff --git a/Functions_output.py b/Functions_output.py
index c035e5d0a86de457553fbbffb967d1ba09d1e620..846958416f0fea0d92e9100854f45dba84a22cf6 100644
--- a/Functions_output.py
+++ b/Functions_output.py
@@ -250,7 +250,7 @@ def print_current_var(variation,feat_start,list_segfeat_azu,feat,i):
         line=f'{variation.feature_id}\t{variation.feature_type}\t{variation.chr}\t{variation.start_new}\t{variation.stop_new}\t{variation.size_new}\t{variation.inversion}\t{variation.size_diff}\tinsertion\t-\t{variation.alt}\t{len(variation.alt)}\t{pos_old}\t{pos_new}{warning}\n'
         write_line(line,output_variations,False)
     elif variation.type=='deletion':
-        [pos_old,pos_new]=get_old_new_pos_deletion(variation,feat_start,list_segfeat_azu,feat,i)
+        [pos_old,pos_new]=get_old_new_pos_deletion(variation,feat_start,list_segfeat_azu,feat)
         line=f'{variation.feature_id}\t{variation.feature_type}\t{variation.chr}\t{variation.start_new}\t{variation.stop_new}\t{variation.size_new}\t{variation.inversion}\t{variation.size_diff}\tdeletion\t{variation.ref}\t-\t{len(variation.ref)}\t{pos_old}\t{pos_new}{warning}\n'
         write_line(line,output_variations,False)
     elif variation.type=='substitution':