Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 16610)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 16611)
@@ -348,4 +348,5 @@
 	IssmDouble xyz_list[NUMVERTICES][3];
 	IssmDouble value;
+	Input*     input  = NULL;
 	Input*     input2 = NULL;
 
@@ -360,11 +361,8 @@
 	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&input_enum,InputToL2ProjectEnum);
-	Input* input = inputs->GetInput(input_enum);
-	if(!input){
-		switch(input_enum){
-			case SurfaceSlopeXEnum: input2 = inputs->GetInput(SurfaceEnum); _assert_(input2); break;
-			case BedSlopeXEnum:     input2 = inputs->GetInput(BedEnum);     _assert_(input2); break;
-			default: _error_("input not found in element");
-		}
+	switch(input_enum){
+		case SurfaceSlopeXEnum: input2 = inputs->GetInput(SurfaceEnum); _assert_(input2); break;
+		case BedSlopeXEnum:     input2 = inputs->GetInput(BedEnum);     _assert_(input2); break;
+		default: input = inputs->GetInput(input_enum);
 	}
 
@@ -378,9 +376,9 @@
 		GetNodalFunctions(basis,gauss);
 
-		if(input){
+		if(input2){
+			input2->GetInputDerivativeValue(&value,&xyz_list[0][0],gauss);
+		}
+		else{
 			input->GetInputValue(&value,gauss);
-		}
-		else{
-			input2->GetInputDerivativeValue(&value,&xyz_list[0][0],gauss);
 		}
 
