Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 8589)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 8590)
@@ -180,9 +180,12 @@
 	%CONTROL TYPE
 	num_controls=numel(md.control_type);
+	num_costfunc=size(md.cm_responses,2);
 	checkvalues(md,{'control_type'},[DhDtEnum DragCoefficientEnum RheologyBbarEnum VxEnum VyEnum]);
 
 	%LENGTH CONTROL FIELDS
-	fields={'maxiter','cm_responses','cm_jump'};
+	fields={'maxiter','cm_jump'};
 	checksize(md,fields,[md.nsteps 1]);
+	fields={'cm_responses'};
+	checksize(md,fields,[md.nsteps num_costfunc]);
 	fields={'optscal'};
 	checksize(md,fields,[md.nsteps num_controls]);
@@ -191,9 +194,11 @@
 
 	%RESPONSES
-	checkvalues(md,{'cm_responses'},[SurfaceAbsVelMisfitEnum SurfaceRelVelMisfitEnum SurfaceLogVelMisfitEnum SurfaceLogVxVyMisfitEnum SurfaceAverageVelMisfitEnum ThicknessAbsMisfitEnum]);
+	checkvalues(md,{'cm_responses'},...
+		[SurfaceAbsVelMisfitEnum SurfaceRelVelMisfitEnum SurfaceLogVelMisfitEnum SurfaceLogVxVyMisfitEnum SurfaceAverageVelMisfitEnum...
+		ThicknessAbsMisfitEnum]);
 
 	%WEIGHTS
 	fields={'weights'};
-	checksize(md,fields,[md.numberofnodes 1]);
+	checksize(md,fields,[md.numberofnodes num_costfunc]);
 	checkgreater(md,fields,0);
 
