Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/UpdateElementsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/UpdateElementsBalancedthickness.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/UpdateElementsBalancedthickness.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -40,9 +41,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness2/UpdateElementsBalancedthickness2.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness2/UpdateElementsBalancedthickness2.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness2/UpdateElementsBalancedthickness2.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -37,9 +38,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/UpdateElementsBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/UpdateElementsBalancedvelocities.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/UpdateElementsBalancedvelocities.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -39,9 +40,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -42,9 +43,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -39,9 +40,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -44,9 +45,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -41,9 +42,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/UpdateElementsPrognostic2.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/UpdateElementsPrognostic2.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/UpdateElementsPrognostic2.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -36,9 +37,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/SlopeCompute/UpdateElementsSlopeCompute.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/SlopeCompute/UpdateElementsSlopeCompute.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/SlopeCompute/UpdateElementsSlopeCompute.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -32,9 +33,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 4016)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 4017)
@@ -17,4 +17,5 @@
 	/*Intermediary*/
 	int i;
+	int counter;
 	Element* element=NULL;
 
@@ -45,9 +46,11 @@
 
 	/*Update elements: */
+	counter=0;
 	for (i=0;i<elements->Size();i++){
-
-		element=(Element*)elements->GetObjectByOffset(i);
-		element->Update(iomodel,analysis_counter);
-
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter); //we need i to index into elements.
+			counter++;
+		}
 	}
 
