diff --git a/modules/seq/alg/src/merge_pairwise_alignments.cc b/modules/seq/alg/src/merge_pairwise_alignments.cc
index 6bba7edd06e48c707e815b0eded56b1226a32fe5..032e92ac9de3d0d994fb7449247c033707198cdb 100644
--- a/modules/seq/alg/src/merge_pairwise_alignments.cc
+++ b/modules/seq/alg/src/merge_pairwise_alignments.cc
@@ -55,7 +55,8 @@ void update_shifts(const AlignmentHandle& aln,
         res_index=-1;
       }
       else if (i > 0) {
-        res_index=s1.GetResidueIndex(i-1);
+        res_index=s1.GetResidueIndex(i-1)-s1.GetOffset();
+//        res_index=s1.GetResidueIndex(i-1);
       }
       ShiftMap::iterator p=shifts.find(res_index);
       if (p!=shifts.end()) {
@@ -111,7 +112,8 @@ SequenceHandle realign_sequence(const AlignmentHandle& aln,
       p=shifts.find(-1);
     }
     else if (i>0 && s1.GetOneLetterCode(i-1)!='-') {
-      p=shifts.find(s1.GetResidueIndex(i-1));
+      p=shifts.find(s1.GetResidueIndex(i-1)-s1.GetOffset());
+//      p=shifts.find(s1.GetResidueIndex(i-1));
     }
     if (p!=shifts.end()) {
       int d=p->second-shift;
@@ -139,6 +141,7 @@ AlignmentHandle MergePairwiseAlignments(const AlignmentList& pairwise_alns,
     update_shifts(*i, ref_seq, shifts);
   }
 
+ 
   AlignmentHandle merged=CreateAlignment();
   merged.AddSequence(shift_reference(ref_seq, shifts));
   for (AlignmentList::const_iterator i=pairwise_alns.begin(),