Index: /issm/trunk/src/c/objects/Numpar.cpp
===================================================================
--- /issm/trunk/src/c/objects/Numpar.cpp	(revision 3052)
+++ /issm/trunk/src/c/objects/Numpar.cpp	(revision 3053)
@@ -149,5 +149,6 @@
 	if(!parameters->FindParam(&viscosity_overshoot,"viscosity_overshoot"))throw ErrorException(__FUNCT__," error message: could not update viscosity_overshoot field");
 	if(!parameters->FindParam(&stokesreconditioning,"stokesreconditioning"))throw ErrorException(__FUNCT__," error message: could not update stokesreconditioning field");
-	xfree((void**)&control_type); parameters->FindParam(&control_type,"control_type");
+	xfree((void**)&control_type); 
+	parameters->FindParam(&control_type,"control_type");
 	parameters->FindParam(&cm_noisedmp,"cm_noisedmp");
 	parameters->FindParam(&cm_mindmp_value,"cm_mindmp_value");
Index: /issm/trunk/src/c/objects/ParameterInputs.cpp
===================================================================
--- /issm/trunk/src/c/objects/ParameterInputs.cpp	(revision 3052)
+++ /issm/trunk/src/c/objects/ParameterInputs.cpp	(revision 3053)
@@ -364,5 +364,5 @@
 
 			/*increment i to skip the distributed values just collected: */
-			i+=qmu_npart;
+			i+=qmu_npart-1; //careful, the for loop will add 1.
 
 			/*Free allocations: */
