diff --git a/marchenko/marchenko.c b/marchenko/marchenko.c
index 18f36d295f6b3a6962b029f9969e4b39b49521c6..e3ab59bbfeb3263d361aaeea8691dd1ab717b726 100644
--- a/marchenko/marchenko.c
+++ b/marchenko/marchenko.c
@@ -284,7 +284,7 @@ int main (int argc, char **argv)
         for (j = ntap; j < nxs-ntap; j++)
             tapersy[j] = 1.0;
         for (j = nxs-ntap; j < nxs; j++)
-            tapersy[j] =(cos(PI*(j-(nxs-ntap))/ntap)+1)/2.0;
+            tapersy[j] =(cos(PI*(j+1-(nxs-ntap))/ntap)+1)/2.0;
         if (verbose) vmess("Taper for operator applied ntap=%d", ntap);
         for (l = 0; l < Nfoc; l++) {
             for (i = 0; i < nxs; i++) {
@@ -319,7 +319,7 @@ int main (int argc, char **argv)
         for (j = ntap; j < nx-ntap; j++)
             tapersh[j] = 1.0;
         for (j = nx-ntap; j < nx; j++)
-            tapersh[j] =(cos(PI*(j-(nx-ntap))/ntap)+1)/2.0;
+            tapersh[j] =(cos(PI*(j+1-(nx-ntap))/ntap)+1)/2.0;
         if (verbose) vmess("Taper for shots applied ntap=%d", ntap);
         for (l = 0; l < nshots; l++) {
             for (j = 1; j < nw; j++) {