diff --git a/marchenko_applications/Makefile b/marchenko_applications/Makefile
index 18f505317590e64487356597223dcdd78af45fea..b3aa063811ab7468e24b3da1a9318806f93c71fb 100644
--- a/marchenko_applications/Makefile
+++ b/marchenko_applications/Makefile
@@ -7,7 +7,7 @@ LIBS    += -L$L -lgenfft -lm $(LIBSM)
 
 #ALL: fmute marchenko marchenko2
 
-ALL: fmute marchenko_app combine gmshift MuteSnap HomG
+ALL: fmute marchenko_app combine gmshift MuteSnap HomG iba
 
 SRCJ	= fmute.c \
 		getFileInfo.c  \
@@ -96,6 +96,17 @@ SRCHG   = HomG.c \
         docpkge.c \
         readSnapData.c
 
+SRCIBA	= iba.c \
+		getFileInfo.c \
+		readData.c \
+		writeData.c \
+		verbosepkg.c  \
+		getpars.c \
+		wallclock_time.c \
+		atopkge.c \
+		docpkge.c \
+		readSnapData.c
+
 OBJJ	= $(SRCJ:%.c=%.o)
 
 fmute:	$(OBJJ) 
@@ -126,21 +137,27 @@ OBJHG   = $(SRCHG:%.c=%.o)
 HomG:   $(OBJHG)
 	$(CC) $(LDFLAGS) $(OPTC) $(CFLAGS) -o HomG $(OBJHG) $(LIBS)
 
-install: fmute marchenko_app combine gmshift MuteSnap HomG
+OBJIBA	= $(SRCIBA:%.c=%.o)
+
+iba:	$(OBJIBA)
+	$(CC) $(LDFLAGS) $(OPTC) $(CFLAGS) -o iba $(OBJIBA) $(LIBS)
+
+install: fmute marchenko_app combine gmshift MuteSnap HomG iba
 	cp fmute $B
 	cp marchenko_app $B
 	cp combine $B
 	cp gmshift $B
 	cp MuteSnap $B
 	cp HomG $B
+	cp iba $B
 
 #	cp marchenko2 $B
 
 clean:
-		rm -f core fmute $(OBJJ) marchenko_app $(OBJH) combine $(OBJC) gmshift $(OBJG) MuteSnap $(OBJMS) HomG $(OBJHG)
+		rm -f core fmute $(OBJJ) marchenko_app $(OBJH) combine $(OBJC) gmshift $(OBJG) MuteSnap $(OBJMS) HomG $(OBJHG) iba $(OBJIBA)
 
 realclean: clean
-		rm -f $B/fmute $B/marchenko_app $B/combine $B/gmshift $B/MuteSnap $B/HomG
+		rm -f $B/fmute $B/marchenko_app $B/combine $B/gmshift $B/MuteSnap $B/HomG $B/iba
 
 
 
diff --git a/marchenko_applications/marchenko.c b/marchenko_applications/marchenko.c
index ee0cfd9c89985c3ea3c102b9b5cff3ea7926ee7c..83a1243da812489a781374d98f040bd531473a8d 100644
--- a/marchenko_applications/marchenko.c
+++ b/marchenko_applications/marchenko.c
@@ -827,7 +827,6 @@ void synthesis(complex *Refl, complex *Fop, float *Top, float *iRN, int nx, int
      * scale dx (or dxsrc) for integration over receiver (or shot) coordinates */
     scl   = 1.0*dt/((float)ntfft);
 
-fprintf(stderr,"synthesis nxs=%d Nsyn=%d nw=%d\n", nxs, Nsyn, nw);
 #ifdef _OPENMP
     npe   = omp_get_max_threads();
     /* parallelisation is over number of virtual source positions (Nsyn) */
diff --git a/marchenko_full/marchenko.c b/marchenko_full/marchenko.c
index 82878a1c7f54f9c82c6647821a62968829f21a6c..685a12745d894dc11de45a35b8f37a40777171fd 100644
--- a/marchenko_full/marchenko.c
+++ b/marchenko_full/marchenko.c
@@ -610,6 +610,19 @@ for (ib=0; ib<=nb; ib++) {
 		if (verbose) vmess("No b-value estimated or applied");
 	}
 
+	for (l = 0; l < Nsyn; l++) {
+        for (i = 0; i < npossyn; i++) {
+            j = 0;
+            ix = ixpossyn[i]; /* select the traces that have an output trace after integration */
+            f2p[l*nxs*nts+i*nts+j] = G_d[l*nxs*nts+ix*nts+j];
+            f1plus[l*nxs*nts+i*nts+j] = G_d[l*nxs*nts+ix*nts+j];
+            for (j = 1; j < nts; j++) {
+                f2p[l*nxs*nts+i*nts+j] = G_d[l*nxs*nts+ix*nts+j];
+                f1plus[l*nxs*nts+i*nts+j] = G_d[l*nxs*nts+ix*nts+j];
+            }
+        }
+    }
+
 /*================ number of Marchenko iterations ================*/
 
     for (iter=0; iter<niter; iter++) {
diff --git a/raytime/Makefile b/raytime/Makefile
index 2a4d790d03ca164cd5ce7f4325ffbab7fcbcbea8..11948fc94c7a5e51bcb170adc4bca2f9d2dbe801 100644
--- a/raytime/Makefile
+++ b/raytime/Makefile
@@ -9,7 +9,7 @@ LIBS    += -L$L -lgenfft -lm $(LIBSM)
 #LIBS    += -L$L -lgenfft -lm -lc
 #OPTC = -g -Wall -fsignaling-nans -O0
 #OPTC += -fopenmp -Waddress
-OPTC += -g -O0
+#OPTC += -g -O0
 #OPTC := $(subst -O3 -ffast-math, -O1 -g ,$(OPTC))
 #PGI options for compiler feedback
 #OPTC += -Mprof=lines