Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 15409)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 15410)
@@ -51,10 +51,8 @@
 	//femmodel->SetCurrentConfiguration(HydrologyDCInefficientAnalysisEnum);
 	GetSolutionFromInputsx(&ug_sed, femmodel->elements, femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters);
-	Reducevectorgtofx(&uf_sed, ug_sed, femmodel->nodes,femmodel->parameters);
 	
 	if(isefficientlayer) {
 		femmodel->SetCurrentConfiguration(HydrologyDCEfficientAnalysisEnum);
 		GetSolutionFromInputsx(&ug_epl, femmodel->elements, femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters);
-		Reducevectorgtofx(&uf_epl, ug_epl, femmodel->nodes,femmodel->parameters);
 	}
 
@@ -64,11 +62,7 @@
 		eplcount=1;
 		//save pointer to old velocity
-		delete uf_sed_sub_iter;
 		ug_sed_main_iter=ug_sed;
-		uf_sed_sub_iter=uf_sed;
 		if(isefficientlayer){
-			delete uf_epl_sub_iter;
 			ug_epl_main_iter=ug_epl;
-			uf_epl_sub_iter=uf_epl;
 		}
 
@@ -86,10 +80,11 @@
 			CreateNodalConstraintsx(&ys,femmodel->nodes,HydrologyDCInefficientAnalysisEnum);
 			Reduceloadx(pf,Kfs,ys); delete Kfs;
-			if(sedcount>1)delete uf_sed;
+			delete uf_sed;
 			Solverx(&uf_sed,Kff,pf,uf_sed_sub_iter,df,femmodel->parameters);
-			delete Kff; delete pf; delete uf_sed_sub_iter; delete df;
+			delete Kff; delete pf; delete df;
+			if(sedcount>1) delete uf_sed_sub_iter;
 			uf_sed_sub_iter=uf_sed->Duplicate();
 			uf_sed->Copy(uf_sed_sub_iter);
-			if(sedcount>1)delete ug_sed; /*Not on first time to avoid deleting ug_sed_main_iter*/
+			if(sedcount>1) delete ug_sed; /*Not on first time to avoid deleting ug_sed_main_iter*/
 			Mergesolutionfromftogx(&ug_sed,uf_sed,ys,femmodel->nodes,femmodel->parameters); delete ys;
 			InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug_sed);
@@ -129,7 +124,8 @@
 				CreateNodalConstraintsx(&ys,femmodel->nodes,HydrologyDCEfficientAnalysisEnum);
 				Reduceloadx(pf,Kfs,ys); delete Kfs;
-				if(sedcount>1) delete uf_epl;
+				delete uf_epl;
 				Solverx(&uf_epl,Kff,pf,uf_epl_sub_iter,df,femmodel->parameters);
-				delete Kff; delete pf; delete uf_epl_sub_iter; delete df; 
+				delete Kff; delete pf; delete df;
+				if(eplcount>1) delete uf_epl_sub_iter; 
 				uf_epl_sub_iter=uf_epl->Duplicate();
 				uf_epl->Copy(uf_epl_sub_iter);
@@ -163,5 +159,7 @@
 			ug_sed_main_iter->Copy(dug);	
 			dug->AYPX(ug_sed,-1.0);
-			ndu_sed=dug->Norm(NORM_TWO); nu_sed=ug_sed_main_iter->Norm(NORM_TWO);
+			ndu_sed=dug->Norm(NORM_TWO); 
+			delete dug;
+			nu_sed=ug_sed_main_iter->Norm(NORM_TWO);
 			if (xIsNan<IssmDouble>(ndu_sed) || xIsNan<IssmDouble>(nu_sed)) _error_("Sed convergence criterion is NaN!");
 			if (!xIsNan<IssmDouble>(eps_hyd)){
@@ -181,4 +179,5 @@
 					dug->AYPX(ug_epl,-1.0);
 					ndu_epl=dug->Norm(NORM_TWO); 
+					delete dug;
 					nu_epl=ug_epl_main_iter->Norm(NORM_TWO);
 
@@ -215,4 +214,4 @@
 	delete uf_sed_sub_iter;
 	delete uf_epl_sub_iter;
-	delete dug;
+	//delete dug;
 }
