Index: /issm/trunk-jpl/src/c/analyses/controltao_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/controltao_core.cpp	(revision 16046)
+++ /issm/trunk-jpl/src/c/analyses/controltao_core.cpp	(revision 16047)
@@ -32,4 +32,5 @@
 	int                *control_list = NULL;
 	Vector<IssmDouble> *X            = NULL;
+	Vector<IssmDouble> *G            = NULL;
 	Vector<IssmDouble> *XL           = NULL;
 	Vector<IssmDouble> *XU           = NULL;
@@ -83,5 +84,8 @@
 	TaoView(tao,PETSC_VIEWER_STDOUT_WORLD);
 	TaoGetSolutionVector(tao,&X->pvector->vector);
+	G=new Vector<IssmDouble>(0); VecFree(&G->pvector->vector);
+	TaoGetGradientVector(tao,&G->pvector->vector);
 	SetControlInputsFromVectorx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,X);
+	ControlInputSetGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,G);
 	for(int i=0;i<num_controls;i++){
 		InputToResultx(femmodel,control_list[i]);
