Index: /issm/trunk-jpl/src/c/main/issm_slr.cpp
===================================================================
--- /issm/trunk-jpl/src/c/main/issm_slr.cpp	(revision 20203)
+++ /issm/trunk-jpl/src/c/main/issm_slr.cpp	(revision 20204)
@@ -69,5 +69,5 @@
 
 	/*Split world into sub-communicators for each and every model:*/
-	MPI_Comm_split(worldcomm,modelid, my_rank, &modelcomm);
+	ISSM_MPI_Comm_split(worldcomm,modelid, my_rank, &modelcomm);
 
 	/*Build inter communicators:*/
@@ -76,9 +76,9 @@
 		fromicecomms=xNew<ISSM_MPI_Comm>(nummodels-1);
 		for(int i=0;i<earthid;i++){
-			MPI_Intercomm_create( modelcomm, 0, worldcomm, rankzeros[i], i, fromicecomms+i); //communicate from local erth comm 9rank 0) to ice comm (rank 0) using modelid tag.
+			ISSM_MPI_Intercomm_create( modelcomm, 0, worldcomm, rankzeros[i], i, fromicecomms+i); //communicate from local erth comm 9rank 0) to ice comm (rank 0) using modelid tag.
 		}
 	}
 	else{
-		MPI_Intercomm_create( modelcomm, 0, worldcomm, rankzeros[earthid], modelid, &toearthcomm); //communicate from local ice comm (rank 0) to earth comm (rank 0) using modelid tag.
+		ISSM_MPI_Intercomm_create( modelcomm, 0, worldcomm, rankzeros[earthid], modelid, &toearthcomm); //communicate from local ice comm (rank 0) to earth comm (rank 0) using modelid tag.
 	}
 
Index: /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.cpp	(revision 20203)
+++ /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.cpp	(revision 20204)
@@ -508,2 +508,16 @@
   return rc;
 }/*}}}*/
+int ISSM_MPI_Intercomm_create(ISSM_MPI_Comm comm,int local_leader,ISSM_MPI_Comm peer_comm, int remote_leader, int tag,ISSM_MPI_Comm *newintercomm){ /*{{{*/
+
+	int rc=0;
+#ifdef _HAVE_MPI_
+#ifdef _HAVE_AMPI_
+	rc=MPI_Intercomm_create(comm,local_leader,peer_comm,remote_leader,tag,newintercomm);
+#else
+	rc=MPI_Intercomm_create(comm,local_leader,peer_comm,remote_leader,tag,newintercomm);
+#endif
+#else 
+	// nothing to be done here 
+#endif
+	return rc;
+}/*}}}*/
Index: /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.h	(revision 20203)
+++ /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.h	(revision 20204)
@@ -138,4 +138,5 @@
 double ISSM_MPI_Wtime(void);
 int ISSM_MPI_Comm_split(ISSM_MPI_Comm comm, int color, int key, ISSM_MPI_Comm *newcomm);
+int ISSM_MPI_Intercomm_create(ISSM_MPI_Comm comm,int local_leader,ISSM_MPI_Comm peer_comm, int remote_leader, int tag,ISSM_MPI_Comm *newintercomm);
 
 // special for Adol-C locations when buffers are allocated with new
