Index: /issm/trunk-jpl/src/c/toolkits/issm/SeqVec.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/SeqVec.cpp	(revision 12862)
+++ /issm/trunk-jpl/src/c/toolkits/issm/SeqVec.cpp	(revision 12863)
@@ -42,5 +42,5 @@
 	this->vector=NULL;
 	if(this->M){
-		this->vector=xNewZeroInit<IssmDouble>(pM);
+		this->vector=xNew<IssmDouble>(pM);
 		xMemCpy<IssmDouble>(this->vector,buffer,pM);
 	}
Index: /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscVec.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscVec.cpp	(revision 12862)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscVec.cpp	(revision 12863)
@@ -34,25 +34,5 @@
 }
 /*}}}*/
-/*FUNCTION PetscVec::PetscVec(IssmDouble* serial_vec,int M){{{*/
-PetscVec::PetscVec(IssmDouble* serial_vec,int M){
-
-	int* idxm=NULL;
-	if(M)idxm=xNew<int>(M);
-	for(int i=0;i<M;i++) idxm[i]=i;
-
-	this->vector=NewVec(M);
-	VecSetValues(this->vector,M,idxm,serial_vec,INSERT_VALUES);
-	VecAssemblyBegin(this->vector);
-	VecAssemblyEnd(this->vector);
-
-	xDelete<int>(idxm);
-}
-/*}}}*/
-/*FUNCTION PetscVec::~PetscVec(){{{*/
-PetscVec::~PetscVec(){
-    VecFree(&this->vector);
-}
-/*}}}*/
-/*FUNCTION Vector::Vector(Vec petsc_vec){{{*/
+/*FUNCTION PetscVec::PetscVec(Vec petsc_vec){{{*/
 PetscVec::PetscVec(Vec petsc_vec){
 
@@ -68,4 +48,24 @@
 }
 /*}}}*/
+/*FUNCTION PetscVec::PetscVec(IssmDouble* serial_vec,int M){{{*/
+PetscVec::PetscVec(IssmDouble* serial_vec,int M){
+
+	int* idxm=NULL;
+	if(M)idxm=xNew<int>(M);
+	for(int i=0;i<M;i++) idxm[i]=i;
+
+	this->vector=NewVec(M);
+	VecSetValues(this->vector,M,idxm,serial_vec,INSERT_VALUES);
+	VecAssemblyBegin(this->vector);
+	VecAssemblyEnd(this->vector);
+
+	xDelete<int>(idxm);
+}
+/*}}}*/
+/*FUNCTION PetscVec::~PetscVec(){{{*/
+PetscVec::~PetscVec(){
+    VecFree(&this->vector);
+}
+/*}}}*/
 
 /*PetscVec specific routines: */
