Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 21718)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 21719)
@@ -267,20 +267,8 @@
 	element->FindParam(&domaintype,DomainTypeEnum);
 	element->FindParam(&stabilization,MasstransportStabilizationEnum);
-	Input* vxaverage_input=NULL;
+	Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
 	Input* vyaverage_input=NULL;
-	if(domaintype==Domain2DhorizontalEnum){
-		vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input);
-		vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input);
-	}
-	else{
-		if(dim==1){
-			vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
-		}
-		if(dim==2){
-			vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
-			vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
-		}
-
-	}
+	if(dim==2) vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
+
 	h = element->CharacteristicLength();
 
@@ -406,14 +394,6 @@
 	element->FindParam(&dt,TimesteppingTimeStepEnum);
 	element->FindParam(&domaintype,DomainTypeEnum);
-	Input* vxaverage_input=NULL;
-	Input* vyaverage_input=NULL;
-	if(domaintype==Domain2DhorizontalEnum){
-		vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input);
-		vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input);
-	}
-	else{
-		vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
-		vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
-	}
+	Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
+	Input* vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
 
 	/* Start  looping on the number of gaussian points: */
Index: /issm/trunk-jpl/src/c/cores/depthaverage_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/depthaverage_core.cpp	(revision 21718)
+++ /issm/trunk-jpl/src/c/cores/depthaverage_core.cpp	(revision 21719)
@@ -14,4 +14,5 @@
 	/*Intermediaries*/
 	int domaintype,elementtype;
+	int inputenum,input_average_enum;
 
 	if(VerboseSolution()) _printf0_("depth averaging solution...\n");
@@ -20,13 +21,15 @@
 	femmodel->parameters->FindParam(&domaintype,DomainTypeEnum);
 	femmodel->parameters->FindParam(&elementtype,MeshElementtypeEnum);
+	femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum);
+	femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum);
 
-	/*If this is a 2D horizontal domain, return (no need to extrude)*/
-	if(domaintype==Domain2DhorizontalEnum) return;
+	/*If this is a 2D horizontal domain: no need to do anything, just copy input*/
+	if(domaintype==Domain2DhorizontalEnum){
+		InputDuplicatex(femmodel,inputenum,input_average_enum);
+		return;
+	}
 
 	/*Special method for Penta, otherwise call solution sequence*/
 	if(elementtype==PentaEnum){
-		int inputenum,input_average_enum;
-		femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum);
-		femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum);
 		InputDepthAverageAtBasex(femmodel,inputenum,input_average_enum);
 	}
