Index: ../trunk-jpl/src/m/classes/taoinversion.m
===================================================================
--- ../trunk-jpl/src/m/classes/taoinversion.m	(revision 18670)
+++ ../trunk-jpl/src/m/classes/taoinversion.m	(revision 18671)
@@ -88,7 +88,15 @@
 			md = checkfield(md,'fieldname','inversion.gatol','numel',1,'>=',0);
 			md = checkfield(md,'fieldname','inversion.grtol','numel',1,'>=',0);
 			md = checkfield(md,'fieldname','inversion.gttol','numel',1,'>=',0);
-			md = checkfield(md,'fieldname','inversion.algorithm','values',{'tao_blmvm','tao_cg','tao_lmvm','blmvm','cg','lmvm'});
+
+			PETSCMAJOR = IssmConfig('_PETSC_MAJOR_');
+			PETSCMINOR = IssmConfig('_PETSC_MINOR_');
+			if(PETSCMAJOR>3 | PETSCMAJOR==3 & PETSCMINOR>=5)
+				md = checkfield(md,'fieldname','inversion.algorithm','values',{'blmvm','cg','lmvm'});
+			else
+				md = checkfield(md,'fieldname','inversion.algorithm','values',{'tao_blmvm','tao_cg','tao_lmvm'});
+			end
+
 			md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506]);
 			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]);
