Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 18708)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 18709)
@@ -17,5 +17,5 @@
 	int         penalty_lock;
 	int         hydro_maxiter;
-	int         *elementactive_counter =NULL;
+	int*        elementactive_counter =NULL;
 	bool        isefficientlayer;
 	IssmDouble  sedimentlimit;
@@ -60,4 +60,5 @@
 		elementactive_counter=xNewZeroInit<int>(iomodel->numberofelements);
 		parameters->AddObject(new IntVecParam(ElementActiveCounterEnum,elementactive_counter,iomodel->numberofelements));
+		xDelete<int>(elementactive_counter);
 	}
 	
@@ -685,10 +686,10 @@
 	bool     old_active;
 	int      penalty_lock;
-	int*     elementactive_counter = NULL;
+	int*     elementactive_counter=NULL;
 	Element* element=NULL;
 
+	femmodel->parameters->FindParam(&elementactive_counter,NULL,ElementActiveCounterEnum);
 	for(int i=0;i<femmodel->elements->Size();i++){
 		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
-		element->parameters->FindParam(&elementactive_counter,NULL,ElementActiveCounterEnum);
 		element->parameters->FindParam(&penalty_lock,HydrologydcPenaltyLockEnum);
 		
@@ -697,5 +698,5 @@
 		old_active_input->GetInputValue(&old_active);
 		
-		if(node_mask_input->Max()>0.) {
+		if(node_mask_input->Max()>0.){
 			element_active = true;
 		}
@@ -709,19 +710,22 @@
 			element_active = true;
 		}
-		femmodel->parameters->SetParam(elementactive_counter,femmodel->elements->Size(),ElementActiveCounterEnum);
 		element->AddInput(new BoolInput(HydrologydcMaskEplactiveEltEnum,element_active));
 	}
+	femmodel->parameters->SetParam(elementactive_counter,femmodel->elements->Size(),ElementActiveCounterEnum);
+	xDelete<int>(elementactive_counter);
 }/*}}}*/
 
 void HydrologyDCInefficientAnalysis::ResetCounter(FemModel* femmodel){/*{{{*/
 
-	int*     elementactive_counter = NULL;
+	int*     elementactive_counter=NULL;
 	Element* element=NULL;
-	
+
+	femmodel->parameters->FindParam(&elementactive_counter,NULL,ElementActiveCounterEnum);
 	for(int i=0;i<femmodel->elements->Size();i++){
 		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
-		element->parameters->FindParam(&elementactive_counter,NULL,ElementActiveCounterEnum);
-
-		elementactive_counter=0;
-	}
-}/*}}}*/
+		
+		elementactive_counter[i]=0;
+	}		
+	femmodel->parameters->SetParam(elementactive_counter,femmodel->elements->Size(),ElementActiveCounterEnum);
+	xDelete<int>(elementactive_counter);
+}/*}}}*/
