Index: /issm/trunk-jpl/src/m/classes/inversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.m	(revision 26363)
+++ /issm/trunk-jpl/src/m/classes/inversion.m	(revision 26364)
@@ -99,6 +99,6 @@
 			md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
 			md = checkfield(md,'fieldname','inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]);
-			md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
-			md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
+			md = checkfield(md,'fieldname','inversion.min_parameters','size',[NaN num_controls]);
+			md = checkfield(md,'fieldname','inversion.max_parameters','size',[NaN num_controls]);
 
 			%Only SSA, HO and FS are supported right now
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 26363)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 26364)
@@ -939,8 +939,15 @@
 			numberofelements1 = md.mesh.numberofelements;
 			nbv2 = md2.mesh.numberofvertices;
+
 			%Create transformation vectors
 			nbedges = size(edges,1);
 			Pelem = sparse(1:4*nbe,repmat([1:nbe],1,4),ones(4*nbe,1),4*nbe,nbe);
 			Pnode = sparse([1:nbv,repmat([nbv+1:nbv+nbedges],1,2)],[1:nbv edges(:)'],[ones(nbv,1);1/2*ones(2*nbedges,1)],md2.mesh.numberofvertices,nbv);
+
+			%Deal with mesh
+			if numel(md.mesh.scale_factor)==md.mesh.numberofvertices
+				md2.mesh.scale_factor=Pnode*md.mesh.scale_factor;
+			end
+
 			%loop over model fields
 			model_fields=setxor(fields(md),{'mesh'});
Index: /issm/trunk-jpl/src/m/classes/taoinversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 26363)
+++ /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 26364)
@@ -114,6 +114,6 @@
 			md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',supportedcostfunctions());
 			md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
-			md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
-			md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
+			md = checkfield(md,'fieldname','inversion.min_parameters','size',[NaN num_controls]);
+			md = checkfield(md,'fieldname','inversion.max_parameters','size',[NaN num_controls]);
 
 			if strcmp(solution,'BalancethicknessSolution')
