Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp	(revision 13541)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp	(revision 13542)
@@ -7,7 +7,8 @@
 #include "../../../io/io.h"
 #include "../../../EnumDefinitions/EnumDefinitions.h"
-#include "../../../classes/objects/objects.h"
+#include "../../../classes/classes.h"
 #include "../../../shared/shared.h"
 #include "../../../include/include.h"
+#include "../../Solverx/Solverx.h"
 #include "../ModelProcessorx.h"
 
@@ -108,4 +109,16 @@
 		parameters->AddObject(new DataSetParam(AutodiffIndependentObjectsEnum,iomodel->independent_objects));
 		/*}}}*/
+	/*initialize a placeholder to store solver pointers: {{{*/
+	GenericParam<Adolc_edf> *theAdolcEDF_p=new GenericParam<Adolc_edf>(AdolcParamEnum);
+	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p=reg_ext_fct(EDF_for_solverx);
+	// to save some space:
+	// we know we won't use adolc inside of  the solver:
+	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p->nestedAdolc=false;
+	// the solution vector is just allocated and doesn't have a meaningfull prior value
+	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p->dp_y_priorRequired=false;
+	 // the solver wrapper makes sure the matrix and the right hand side don't change
+	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p->dp_x_changes=false;
+	parameters->AddObject(theAdolcEDF_p);
+	/*}}}*/
 
 		/*Assign output pointer: */
Index: /issm/trunk-jpl/src/c/solutions/issm.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutions/issm.cpp	(revision 13541)
+++ /issm/trunk-jpl/src/c/solutions/issm.cpp	(revision 13542)
@@ -61,5 +61,4 @@
 	/*Create femmodel, using input file: */
 	profiler->Tag(StartInit);
-	
 	femmodel=new FemModel(rootpath,binfilename,outbinfilename,solution_type,analyses,numanalyses);
 	
@@ -83,20 +82,4 @@
 	profiler->Tag(FinishInit);
 	
-	/*If running AD, then initialize a placeholder with which to work: */
-	#ifdef _HAVE_ADOLC_
-	GenericParam<Adolc_edf> *theAdolcEDF_p=new GenericParam<Adolc_edf>(AdolcParamEnum);
-	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p=reg_ext_fct(EDF_for_solverx);
-	// to save some space:
-	// we know we won't use adolc inside of  the solver:
-	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p->nestedAdolc=false;
-	// the solution vector is just allocated and doesn't have a meaningfull prior value
-	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p->dp_y_priorRequired=false;
-	 // the solver wrapper makes sure the matrix and the right hand side don't change
-	theAdolcEDF_p->GetParameterValue().myEDF_for_solverx_p->dp_x_changes=false;
-	femmodel->parameters->AddObject(theAdolcEDF_p);
-	#else
-	if(autodiff) _error_("ISSM was not compiled with ADOLC support, cannot carry out autodiff analysis!");
-	#endif
-
 	_pprintLine_("call computational core:");
 	profiler->Tag(StartCore); solutioncore(femmodel); profiler->Tag(FinishCore); 
