Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16845)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16846)
@@ -6765,6 +6765,6 @@
 	this->parameters->FindParam(&input_enum,InputToL2ProjectEnum);
 	switch(input_enum){
-		case EplHeadSlopeXEnum: input2 = inputs->GetInput(SurfaceEnum); _assert_(input2); break;
-		case EplHeadSlopeYEnum: input2 = inputs->GetInput(SurfaceEnum); _assert_(input2); break;
+		case EplHeadSlopeXEnum: input2 = inputs->GetInput(EplHeadEnum); _assert_(input2); break;
+		case EplHeadSlopeYEnum: input2 = inputs->GetInput(EplHeadEnum); _assert_(input2); break;
 	default: input = inputs->GetInput(input_enum);
 	}
@@ -7100,9 +7100,9 @@
 					EPL_N=gravity*((rho_ice*ice_thickness[i])-(rho_water*(eplhead[i]-bed[i])));
 					if(EPL_N<0.0)EPL_N=0.0;
-					/*Get then the gradient of EPL heads*/
-					EPLgrad = epl_slopeX[i]+epl_slopeY[i];
+					/*Get then the square of th gradient of EPL heads*/
+					EPLgrad = (epl_slopeX[i]*epl_slopeX[i]+epl_slopeY[i]*epl_slopeY[i]);
 					
 					/*And proceed to the real thing*/
-					thickness[i] = old_thickness[i]*(1+((rho_water*gravity*dt)/(rho_ice*latentheat))*epl_conductivity*pow(EPLgrad,2.0)-2.0*(A*dt/(pow(n,n)))*(pow(EPL_N,n)));
+					thickness[i] = old_thickness[i]*(1+((rho_water*gravity*dt)/(rho_ice*latentheat))*epl_conductivity*EPLgrad-2.0*(A*dt/(pow(n,n)))*(pow(EPL_N,n)));
 			}
 		}
