Index: /issm/trunk/src/c/parallel/control_core.cpp
===================================================================
--- /issm/trunk/src/c/parallel/control_core.cpp	(revision 2233)
+++ /issm/trunk/src/c/parallel/control_core.cpp	(revision 2234)
@@ -205,6 +205,4 @@
 	results->AddObject(result);
 	if (control_steady){
-		result=new Result(results->Size()+1,0,1,"u_g",u_g);
-		results->AddObject(result);
 		result=new Result(results->Size()+1,0,1,"t_g",t_g);
 		results->AddObject(result);
@@ -224,5 +222,5 @@
 	VecFree(&u_g);
 	VecFree(&t_g);
+	VecFree(&m_g);
 	xfree((void**)&J);
-
 }
Index: /issm/trunk/src/c/parallel/diagnostic.cpp
===================================================================
--- /issm/trunk/src/c/parallel/diagnostic.cpp	(revision 2233)
+++ /issm/trunk/src/c/parallel/diagnostic.cpp	(revision 2234)
@@ -112,11 +112,5 @@
 			_printf_("call computational core:\n");
 			diagnostic_core(results,model,inputs);
-		}
-		else{
-			/*run control analysis: */
-			_printf_("call computational core:\n");
-			control_core(results,model,inputs);
-		}
-		if(!control_analysis){
+
 			/*Add analysis_type to results: */
 			result=new Result(results->Size()+1,0,1,"analysis_type","diagnostic");
@@ -127,4 +121,8 @@
 		}
 		else{
+			/*run control analysis: */
+			_printf_("call computational core:\n");
+			control_core(results,model,inputs);
+
 			/*Add analysis_type and control_type to results: */
 			result=new Result(results->Size()+1,0,1,"analysis_type","diagnostic");
Index: /issm/trunk/src/c/parallel/steadystate.cpp
===================================================================
--- /issm/trunk/src/c/parallel/steadystate.cpp	(revision 2233)
+++ /issm/trunk/src/c/parallel/steadystate.cpp	(revision 2234)
@@ -123,4 +123,11 @@
 			_printf_("call computational core:\n");
 			steadystate_core(results,model,inputs);
+
+			/*Add analysis_type to results: */
+			result=new Result(results->Size()+1,0,1,"analysis_type","steadystate");
+			results->AddObject(result);
+
+			_printf_("process results:\n");
+			ProcessResults(&processed_results,results,model,SteadystateAnalysisEnum());
 		}
 		else{
@@ -135,15 +142,5 @@
 			_printf_("call computational core:\n");
 			control_core(results,model,inputs);
-		}
 
-		if(!control_analysis){
-			/*Add analysis_type to results: */
-			result=new Result(results->Size()+1,0,1,"analysis_type","steadystate");
-			results->AddObject(result);
-
-			_printf_("process results:\n");
-			ProcessResults(&processed_results,results,model,SteadystateAnalysisEnum());
-		}
-		else{
 			/*Add analysis_type and control_type to results: */
 			result=new Result(results->Size()+1,0,1,"analysis_type","steadystate");
