Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 27377)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 27378)
@@ -1477,5 +1477,5 @@
    xDelete<IssmDouble>(recv_buffer);
    for(int rank=0;rank<num_procs;rank++){
-      ISSM_MPI_Wait(&send_requests[rank],&status);
+      if(rank!=my_rank) ISSM_MPI_Wait(&send_requests[rank],&status);
       xDelete<IssmDouble>(send_buffers[rank]);
    }
@@ -1524,5 +1524,7 @@
 
 	/*Wait until MPI is done*/
-	for(int rank=0;rank<num_procs;rank++) ISSM_MPI_Wait(&send_requests[rank],&status);
+	for(int rank=0;rank<num_procs;rank++){
+		if(rank!=my_rank) ISSM_MPI_Wait(&send_requests[rank],&status);
+	}
 
 	/*Now sync masters across partitions*/
@@ -1554,5 +1556,5 @@
 	xDelete<IssmDouble>(recv_buffer);
 	for(int rank=0;rank<num_procs;rank++){
-		ISSM_MPI_Wait(&send_requests[rank],&status);
+		if(rank!=my_rank) ISSM_MPI_Wait(&send_requests[rank],&status);
 		xDelete<IssmDouble>(send_buffers[rank]);
 	}
@@ -1617,5 +1619,5 @@
 	xDelete<IssmDouble>(recv_buffer);
 	for(int rank=0;rank<num_procs;rank++){
-		ISSM_MPI_Wait(&send_requests[rank],&status);
+		if(rank!=my_rank) ISSM_MPI_Wait(&send_requests[rank],&status);
 		xDelete<IssmDouble>(send_buffers[rank]);
 	}
