Index: /issm/trunk/src/c/solutions/control_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/control_core.cpp	(revision 5529)
+++ /issm/trunk/src/c/solutions/control_core.cpp	(revision 5530)
@@ -26,4 +26,5 @@
 	int     solution_type;
 	bool    isstokes;
+	bool    qmu_analysis=false;
 
 	double* responses=NULL;
@@ -58,4 +59,5 @@
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
 	femmodel->parameters->FindParam(&isstokes,IsStokesEnum);
+	femmodel->parameters->FindParam(&qmu_analysis,QmuAnalysisEnum);
 	/*}}}*/
 
@@ -118,8 +120,10 @@
 
 	/*some results not computed by steadystate_core or diagnostic_core: */
-	InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_type); //the parameter itself!
-	InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GradientEnum); 
-	femmodel->results->AddObject(new DoubleVecExternalResult(femmodel->results->Size()+1,JEnum,J,nsteps,1,0));
-	femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,ControlTypeEnum,EnumToString(control_type),1,0));
+	if(!qmu_analysis){ //do not save this if we are running the control core from a qmu run!
+		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_type); //the parameter itself!
+		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GradientEnum); 
+		femmodel->results->AddObject(new DoubleVecExternalResult(femmodel->results->Size()+1,JEnum,J,nsteps,1,0));
+		femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,ControlTypeEnum,EnumToString(control_type),1,0));
+	}
 
 	cleanup_and_return:
Index: /issm/trunk/src/c/solutions/controlrestart.cpp
===================================================================
--- /issm/trunk/src/c/solutions/controlrestart.cpp	(revision 5529)
+++ /issm/trunk/src/c/solutions/controlrestart.cpp	(revision 5530)
@@ -11,16 +11,22 @@
 	int      control_type;
 	int      nsteps;
+	bool     qmu_analysis=true;
 
 	/*retrieve output file name: */
 	femmodel->parameters->FindParam(&control_type,ControlTypeEnum);
 	femmodel->parameters->FindParam(&nsteps,NStepsEnum);
+	femmodel->parameters->FindParam(&qmu_analysis,QmuAnalysisEnum);
 
-	/*we essentially want J and the parameter: */
-	InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_type); //the parameter itself!
-	femmodel->results->AddObject(new DoubleVecExternalResult(femmodel->results->Size()+1,JEnum,J,nsteps,1,0));
-	femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,ControlTypeEnum,EnumToString(control_type),1,0));
+	/*only save if we are not running qmu analysis. We certainly don't want to save control results each time we 
+	 * run on control core!: */
+	if(!qmu_analysis){
+		/*we essentially want J and the parameter: */
+		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_type); //the parameter itself!
+		femmodel->results->AddObject(new DoubleVecExternalResult(femmodel->results->Size()+1,JEnum,J,nsteps,1,0));
+		femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,ControlTypeEnum,EnumToString(control_type),1,0));
 
-	/*write to disk: */
-	OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
+		/*write to disk: */
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
+	}
 
 }
