Index: /issm/trunk-jpl/src/c/classes/Vertices.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Vertices.cpp	(revision 23638)
+++ /issm/trunk-jpl/src/c/classes/Vertices.cpp	(revision 23639)
@@ -61,26 +61,26 @@
 	/*Copy dataset*/
 	Vertices* output=new Vertices();
-	output->sorted=this->sorted;
-	output->numsorted=this->numsorted;
-	output->presorted=this->presorted;
-	for(vector<Object*>::iterator obj=this->objects.begin() ; obj < this->objects.end(); obj++ ){
-		output->AddObject((*obj)->copy());
-	}
+	output->sorted    = this->sorted;
+	output->numsorted = this->numsorted;
+	output->presorted = this->presorted;
+	for(vector<Object*>::iterator obj=this->objects.begin() ; obj < this->objects.end(); obj++ ) output->AddObject((*obj)->copy());
 
 	/*Build id_offsets and sorted_ids*/
+	output->id_offsets=NULL;
+	output->sorted_ids=NULL;
 	int objsize = this->numsorted;
 	if(this->sorted && objsize>0 && this->id_offsets){	
-		/*Allocate new ids*/
 		output->id_offsets=xNew<int>(objsize);
 		xMemCpy<int>(output->id_offsets,this->id_offsets,objsize);
 	}
-	else output->id_offsets=NULL;
 	if(this->sorted && objsize>0 && this->sorted_ids){
-		/*Allocate new ids*/
 		output->sorted_ids=xNew<int>(objsize);
 		xMemCpy<int>(output->sorted_ids,this->sorted_ids,objsize);
 	}
-	else output->sorted_ids=NULL;
-
+
+	/*Copy other fields*/
+	output->numberofvertices       = this->numberofvertices;
+	output->numberofvertices_local = this->numberofvertices_local;
+	output->numberofmasters_local  = this->numberofmasters_local;
 
 	if(this->common_recv){
@@ -115,4 +115,7 @@
 	int test = num_procs;
 	MARSHALLING_ENUM(VerticesEnum);
+	MARSHALLING(numberofvertices);
+	MARSHALLING(numberofvertices_local);
+	MARSHALLING(numberofmasters_local);
 	MARSHALLING(test);
 	if(test!=num_procs) _error_("number of cores is not the same as before");
