Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14781)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14782)
@@ -1765,5 +1765,5 @@
 		#ifdef _HAVE_GIA_
 		case GiaAnalysisEnum:
-			InputUpdateFromSolutionOneDof(solution,GiaWEnum);
+			InputUpdateFromSolutionGia(solution);
 			break;
 		#endif
@@ -3179,4 +3179,26 @@
 
 	return;
+}
+/*}}}*/
+/*FUNCTION Tria::InputUpdateFromSolutionGia{{{*/
+void  Tria::InputUpdateFromSolutionGia(IssmDouble* solution){
+
+	int vertexsidlist[NUMVERTICES];
+	IssmDouble    values[NUMVERTICES];
+
+	/*Get sid list: */
+	this->GetVertexSidList(&vertexsidlist[0]);
+
+	/*Use the dof list to index into the solution vector: */
+	for(int i=0;i<NUMVERTICES;i++){
+		values[i]=solution[vertexsidlist[i]];
+		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
+	}
+
+	/*Add input to the element: */
+	this->inputs->AddInput(new TriaP1Input(enum_type,values));
+
+	/*Free ressources:*/
+	xDelete<int>(doflist);
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 14781)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 14782)
@@ -143,4 +143,5 @@
 		#ifdef _HAVE_GIA_
 		void   GiaDeflection(Vector<IssmDouble>* wg,IssmDouble* x,IssmDouble* y);
+		void   InputUpdateFromSolutionGia(IssmDouble* solution);
 		#endif
 
