diff --git a/fdelmodc/fdelmodc.c b/fdelmodc/fdelmodc.c
index 5aebabf83730344b75d2de8baa6beed505bb0e8d..31698e1320b4d8f20835cc26d754f05abc935f08 100644
--- a/fdelmodc/fdelmodc.c
+++ b/fdelmodc/fdelmodc.c
@@ -613,11 +613,13 @@ shared (shot, bnd, mod, src, wav, rec, ixsrc, izsrc, it, src_nwav, verbose)
 				/* negative time correction with mod.t0 for dipping plane waves modeling */
 				isam        = (it-rec.delay-itwritten+NINT(mod.t0/mod.dt))/rec.skipdt+1;
 				if (isam < 0) isam = rec.nt+isam;
+				fprintf(stderr,"it=%d isam=%d writeToFile=%d\n", it, isam, writeToFile);
 				/* store time at receiver positions */
 				getRecTimes(mod, rec, bnd, it, isam, vx, vz, tzz, txx, txz, 
 					l2m, rox, roz, 
 					rec_vx, rec_vz, rec_txx, rec_tzz, rec_txz, 
 					rec_p, rec_pp, rec_ss, rec_udp, rec_udvz, verbose);
+//fprintf(stderr,"rec%d=%e\n", isam, rec_p[isam]);
 
 				/* at the end of modeling a shot, write receiver array to output file(s) */
 				if (writeToFile && (it+rec.skipdt <= it1-1) ) {
@@ -684,6 +686,7 @@ shared (shot, bnd, mod, src, wav, rec, ixsrc, izsrc, it, src_nwav, verbose)
 				}
 			}
 		}
+fprintf(stderr,"rec=%e\n", rec_p[isam]);
 		writeRec(rec, mod, bnd, wav, ixsrc, izsrc, isam+1, ishot, fileno,
 			rec_vx, rec_vz, rec_txx, rec_tzz, rec_txz, 
 			rec_p, rec_pp, rec_ss, rec_udp, rec_udvz, verbose);
diff --git a/fdelmodc/getParameters.c b/fdelmodc/getParameters.c
index c779f9942c3257d220ca760e8e1195fad83bd7e5..f61854f3e99240aca29966efbe73b4175e6a57a9 100644
--- a/fdelmodc/getParameters.c
+++ b/fdelmodc/getParameters.c
@@ -1000,8 +1000,8 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 /*			vmess("Memory requirement for sources = %.2f MB.",sizeof(float)*(wav->nx*(wav->nt/(1024.0*1024.0))));*/
 			vmess("Memory requirement for sources = %.2f MB.",sizeof(float)*(nsamp/(1024.0*1024.0)));
 			if (src->plane) {
-				vmess("Computed p-value = %f.",p);
-        		vmess("Maximum negative time delay is %f\n", mod->t0);
+				vmess("plane-wave: Computed p-value = %f.",p);
+        		vmess("plane-wave: Maximum negative time delay is %f", mod->t0);
 			}
 		}
 		if (src->random) {
diff --git a/marchenko/marchenko.c b/marchenko/marchenko.c
index d83f3b9a26a470e045166f4c157c5bcd1496aa0a..697035b4b6e7445e89cd629fefba270a257df584 100644
--- a/marchenko/marchenko.c
+++ b/marchenko/marchenko.c
@@ -274,7 +274,7 @@ int main (int argc, char **argv)
             timeShift(G_d, nts, nxs, dt, tshift, fmin, fmax);
 		}
 
-        for (i=0; i<nxs; i++) tsynW[i] = NINT(i*dxs*p/dt);
+        for (i=0; i<nxs; i++) tsynW[i] = NINT((i-(nxs-1)/2)*dxs*p/dt);
         //for (i=0; i<nxs; i++) tsynW[i] = 0.0;
 		if (Nfoc!=1) verr("For plane-wave focusing only one function can be computed at the same time");
 	    //fprintf(stderr,"itmin=%d tshift=%f =%d \n", itmin, tshift, NINT(tshift/dt));	
@@ -624,10 +624,10 @@ int main (int argc, char **argv)
             applyMute_tshift(Gmin, muteW, smooth, 4, Nfoc, nxs, nts, ixpos, npos, shift, 1, tsynW);
             if (src_angle > 0.0) {
 			    if (verbose>1) vmess("Gmin planewave tshift=%f", tshift);
-                timeShift(Gmin, nts, npos, dt, tshift, fmin, fmax);
+                //timeShift(Gmin, nts, npos, dt, tshift, fmin, fmax);
 			}
 			else {
-			    if (verbose>1) vmess("Gmin NO planewave tshift");
+			    if (verbose>1) vmess("Gmin no planewave tshift needed for src_angle<0");
 			}
 		}
 		else {
diff --git a/marchenko/marchenko_primaries.c b/marchenko/marchenko_primaries.c
index 7a4d68aff0ec4047dd205245b9cad6aaefbe116e..90f3c815ffc19d004369d9d6714390ca0a91efe7 100644
--- a/marchenko/marchenko_primaries.c
+++ b/marchenko/marchenko_primaries.c
@@ -190,6 +190,7 @@ int main (int argc, char **argv)
     if(!getparfloat("src_velo",&src_velo)) src_velo=1500.;
     if(!getparfloat("t0",&tt0)) tt0=0.1;
 	if( (niterskip>1) && ISODD(niter) ) niter++;
+    if (niterskip==0) niterskip=1;
 
     if (T>0) {
 		T=-1;