Index: /issm/trunk-jpl/src/c/cores/adjointstressbalance_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/adjointstressbalance_core.cpp	(revision 23214)
+++ /issm/trunk-jpl/src/c/cores/adjointstressbalance_core.cpp	(revision 23215)
@@ -31,7 +31,18 @@
 	if(VerboseSolution()) _printf0_("   computing velocities\n");
 	femmodel->SetCurrentConfiguration(StressbalanceAnalysisEnum);
+	
+	bool is_schur_cg_solver = false;
+	#ifdef _HAVE_PETSC_
+	int solver_type;
+	PetscOptionsDetermineSolverType(&solver_type);
+
+	if(solver_type==FSSolverEnum) is_schur_cg_solver = true;
+	#endif
+
 	if(isFS){
 		if (fe_FS==LATaylorHoodEnum || fe_FS==LACrouzeixRaviartEnum)
 		 solutionsequence_la(femmodel);
+		else if(is_schur_cg_solver)
+		 solutionsequence_schurcg(femmodel);
 		else
 		 solutionsequence_nonlinear(femmodel,conserve_loads); 
Index: /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp	(revision 23214)
+++ /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp	(revision 23215)
@@ -37,5 +37,4 @@
 
 	if(VerboseSolution()) _printf0_("   computing new velocity\n");
-
 	/*Compute slopes if necessary */
 	if(isSIA || (isFS && domaintype==Domain2DverticalEnum)) surfaceslope_core(femmodel);
