Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15633)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15634)
@@ -357,5 +357,5 @@
 }
 /*}}}*/
-		/*FUNCTION Penta::Configure {{{*/
+/*FUNCTION Penta::Configure {{{*/
 void  Penta::Configure(Elements* elementsin, Loads* loadsin, Nodes* nodesin,Vertices* verticesin, Materials* materialsin, Parameters* parametersin){
 
Index: /issm/trunk-jpl/src/c/classes/Node.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 15633)
+++ /issm/trunk-jpl/src/c/classes/Node.cpp	(revision 15634)
@@ -1147,11 +1147,10 @@
 void TransformStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int* cs_array){/*{{{*/
 
-	int     i,j;
-	int     numdofs   = 0;
+	int         numdofs = 0;
 	IssmDouble *transform = NULL;
 	IssmDouble *values    = NULL;
 
 	/*Get total number of dofs*/
-	for(i=0;i<numnodes;i++){
+	for(int i=0;i<numnodes;i++){
 		switch(cs_array[i]){
 			case XYEnum:   numdofs+=2; break;
@@ -1163,5 +1162,5 @@
 	/*Copy current stiffness matrix*/
 	values=xNew<IssmDouble>(Ke->nrows*Ke->ncols);
-	for(i=0;i<Ke->nrows;i++) for(j=0;j<Ke->ncols;j++) values[i*Ke->ncols+j]=Ke->values[i*Ke->ncols+j];
+	for(int i=0;i<Ke->nrows*Ke->ncols;i++) values[i]=Ke->values[i];
 
 	/*Get Coordinate Systems transform matrix*/
Index: /issm/trunk-jpl/src/c/classes/Nodes.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Nodes.cpp	(revision 15633)
+++ /issm/trunk-jpl/src/c/classes/Nodes.cpp	(revision 15634)
@@ -175,11 +175,9 @@
 int   Nodes::MaxNumDofs(int analysis_type,int setenum){
 
-	int i;
 	int max=0;
-	int allmax;
-	int numdofs=0;
+	int allmax,numdofs;
 
 	/*Now go through all nodes, and get how many dofs they own, unless they are clone nodes: */
-	for(i=0;i<this->Size();i++){
+	for(int i=0;i<this->Size();i++){
 
 		Node* node=dynamic_cast<Node*>(this->GetObjectByOffset(i));
@@ -198,4 +196,32 @@
 	max=allmax;
 	#endif
+
+	return max;
+}
+/*}}}*/
+/*FUNCTION Nodes::MaximymId{{{*/
+int Nodes::MaximumId(){
+
+	int max=-1;
+	int id,allmax;
+
+	/*Now go through all nodes, and get how many dofs they own, unless they are clone nodes: */
+	if(!sorted){
+		for(int i=0;i<this->Size();i++){
+			Node* node=dynamic_cast<Node*>(this->GetObjectByOffset(i));
+			id=node->Id();
+			if(id>max)max=id;
+		}
+	}
+	else{
+		Node* node=dynamic_cast<Node*>(this->GetObjectByOffset(this->Size()-1));
+		max = node->Id();
+	}
+
+	/*Grab max of all cpus: */
+#ifdef _HAVE_MPI_
+	MPI_Allreduce((void*)&max,(void*)&allmax,1,MPI_INT,MPI_MAX,IssmComm::GetComm());
+	max=allmax;
+#endif
 
 	return max;
Index: /issm/trunk-jpl/src/c/classes/Nodes.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Nodes.h	(revision 15633)
+++ /issm/trunk-jpl/src/c/classes/Nodes.h	(revision 15634)
@@ -28,4 +28,5 @@
 		void  FlagClones(int analysis_type);
 		int   MaxNumDofs(int analysis_type,int setenum);
+		int   MaximumId(void);
 		int   NumberOfDofs(int analysis_type,int setenum);
 		int   NumberOfDofsLocal(int analysis_type,int setenum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp	(revision 15633)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp	(revision 15634)
@@ -13,5 +13,4 @@
 	/*Intermediaries*/
 	int   i,j,counter;
-	int   numberofvertices2d;
 	bool *my_edges = NULL;
 	bool *my_nodes = NULL;
@@ -53,6 +52,5 @@
 			}
 
-			iomodel->Constant(&numberofvertices2d,MeshNumberofvertices2dEnum);
-			counter = i;
+			counter = iomodel->numberofvertices;
 			for(i=0;i<iomodel->numberofedges;i++){
 				if(iomodel->edges[i*3+2]!=2){
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/UpdateCounters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/UpdateCounters.cpp	(revision 15633)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/UpdateCounters.cpp	(revision 15634)
@@ -24,5 +24,5 @@
 	constraints=*pconstraints;
 
-	if(nodes) iomodel->nodecounter=nodes->NumberOfNodes();
+	if(nodes) iomodel->nodecounter=nodes->MaximumId();
 	else iomodel->nodecounter=0;
 
