Index: /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21778)
+++ /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21779)
@@ -1074,6 +1074,6 @@
 		xDelete<IssmDouble>(watercolumn);
 		xDelete<IssmDouble>(drainage_int);
-	}
-	xDelete<int>(basalnodeindices);
+		xDelete<int>(basalnodeindices);
+	}
 }/*}}}*/
 void				EnthalpyAnalysis::DrainageUpdateEnthalpy(FemModel* femmodel){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21778)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21779)
@@ -3179,6 +3179,4 @@
 	/*Intermediaries*/
 	IssmDouble phi;
-	IssmDouble viscosity;
-	IssmDouble epsilon[6];
 	IssmDouble thickness;
 	IssmDouble *xyz_list = NULL;
@@ -3189,9 +3187,8 @@
 
 	/*Retrieve all inputs and parameters*/
-	this->GetVerticesCoordinatesBase(&xyz_list);
+	this->GetVerticesCoordinates(&xyz_list);
 	Input* vx_input        = this->GetInput(VxEnum); _assert_(vx_input);
 	Input* vy_input        = this->GetInput(VyEnum); _assert_(vy_input);
 	Input* vz_input        = this->GetInput(VzEnum); _assert_(vz_input);
-	Input* thickness_input = this->GetInput(ThicknessEnum); _assert_(thickness_input);
 
 	/*loop over vertices: */
@@ -3200,11 +3197,7 @@
 		gauss->GaussVertex(iv);
 
-		thickness_input->GetInputValue(&thickness,gauss);
-
-		this->StrainRateFS(&epsilon[0],xyz_list,gauss,vx_input,vy_input,vz_input);
-		this->material->ViscosityFS(&viscosity,3,xyz_list,gauss,vx_input,vy_input,vz_input);
-		this->GetPhi(&phi,&epsilon[0],viscosity);
-
-		viscousheating[iv]=phi*thickness;
+		this->ViscousHeating(&phi,xyz_list,gauss,vx_input,vy_input,vz_input);
+
+		viscousheating[iv]=phi;
 	}
 
