Index: /issm/trunk-jpl/src/c/modules/OutputRiftsx/OutputRiftsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/OutputRiftsx/OutputRiftsx.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/modules/OutputRiftsx/OutputRiftsx.cpp	(revision 13599)
@@ -17,5 +17,5 @@
 
 	/*Allocate grad_g: */
-	riftproperties=NewVec(numrifts);
+	riftproperties=NewVec(numrifts,IssmComm::GetComm());
 
 	/*Compute rift properties : */
Index: /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp	(revision 13599)
@@ -28,9 +28,9 @@
 	/*allocate: */
 	gsize=nodes->NumberOfDofs(configuration_type,GsetEnum);
-	smearedvector=NewVec(gsize);
+	smearedvector=NewVec(gsize,IssmComm::GetComm());
 	
-	x=NewVec(gsize);
-	y=NewVec(gsize);
-	z=NewVec(gsize);
+	x=NewVec(gsize,IssmComm::GetComm());
+	y=NewVec(gsize,IssmComm::GetComm());
+	z=NewVec(gsize,IssmComm::GetComm());
 
 	for(i=0;i<nodes->Size();i++){
Index: /issm/trunk-jpl/src/c/modules/Solverx/SolverxPetsc.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Solverx/SolverxPetsc.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/modules/Solverx/SolverxPetsc.cpp	(revision 13599)
@@ -70,5 +70,5 @@
 	MatGetSize(Kff,&global_m,&global_n); _assert_(global_m==global_m);
 	if(!global_n){
-		*puf=NewVec(0); return;
+		*puf=NewVec(0,IssmComm::GetComm()); return;
 	}
 
@@ -86,5 +86,5 @@
 	}
 	else{
-		MatGetLocalSize(Kff,&local_m,&local_n);uf=NewVec(local_n,fromlocalsize);
+		MatGetLocalSize(Kff,&local_m,&local_n);uf=NewVec(local_n,IssmComm::GetComm(),fromlocalsize);
 	}
 
Index: /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscVec.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscVec.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscVec.cpp	(revision 13599)
@@ -30,5 +30,5 @@
 PetscVec::PetscVec(int M,bool fromlocalsize){
 	
-	this->vector=NewVec(M,fromlocalsize);
+	this->vector=NewVec(M,IssmComm::GetComm(),fromlocalsize);
 
 }
@@ -38,5 +38,5 @@
 
 	if(petsc_vec==NULL){
-		this->vector=NewVec(0);
+		this->vector=NewVec(0,IssmComm::GetComm());
 	}
 	else{
@@ -55,5 +55,5 @@
 	for(int i=0;i<M;i++) idxm[i]=i;
 
-	this->vector=NewVec(M);
+	this->vector=NewVec(M,IssmComm::GetComm());
 	VecSetValues(this->vector,M,idxm,serial_vec,INSERT_VALUES);
 	VecAssemblyBegin(this->vector);
Index: /issm/trunk-jpl/src/c/toolkits/petsc/patches/NewVec.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/patches/NewVec.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/patches/NewVec.cpp	(revision 13599)
@@ -17,5 +17,5 @@
 #include "../../mpi/patches/mpipatches.h"
 
-Vec NewVec(int size,bool fromlocalsize){
+Vec NewVec(int size,COMM comm,bool fromlocalsize){
 
 	int ierr;
@@ -33,5 +33,5 @@
 	}
 	
-	VecCreate(PETSC_COMM_WORLD,&vector); 
+	VecCreate(comm,&vector); 
 	
 	VecSetSizes(vector,local_size,PETSC_DECIDE); 
Index: /issm/trunk-jpl/src/c/toolkits/petsc/patches/SerialToVec.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/patches/SerialToVec.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/patches/SerialToVec.cpp	(revision 13599)
@@ -30,5 +30,5 @@
 		
 	/*Create parallel vector: */
-	outvector=NewVec(vector_size);
+	outvector=NewVec(vector_size,MPI_COMM_WORLD);
 
 	/*plug values from local vector into new parallel vector: */
Index: /issm/trunk-jpl/src/c/toolkits/petsc/patches/VecPartition.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/patches/VecPartition.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/patches/VecPartition.cpp	(revision 13599)
@@ -100,5 +100,5 @@
 		if(kffpartition){
 			VecFree(&outvector);
-			outvector=NewVec(row_partition_vector_size);
+			outvector=NewVec(row_partition_vector_size,MPI_COMM_WORLD);
 		}
 
Index: /issm/trunk-jpl/src/c/toolkits/petsc/patches/VecTranspose.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/patches/VecTranspose.cpp	(revision 13598)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/patches/VecTranspose.cpp	(revision 13599)
@@ -25,5 +25,5 @@
 	
 	/*Create new vector of same size: */
-	tvector=NewVec(size);
+	tvector=NewVec(size,MPI_COMM_WORLD);
 
 	/*Extract values locally from input vector: */
Index: /issm/trunk-jpl/src/c/toolkits/petsc/patches/petscpatches.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/patches/petscpatches.h	(revision 13598)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/patches/petscpatches.h	(revision 13599)
@@ -17,5 +17,5 @@
 class Parameters;
 
-Vec NewVec(int size,bool fromlocalsize=false);
+Vec NewVec(int size,COMM comm,bool fromlocalsize=false);
 Mat NewMat(int M,int N,COMM comm);
 Mat NewMat(int M,int N,double sparsity,COMM comm);
