Index: /issm/trunk-jpl/src/m/solvers/mumpsnoneoptions.m
===================================================================
--- /issm/trunk-jpl/src/m/solvers/mumpsnoneoptions.m	(revision 23429)
+++ /issm/trunk-jpl/src/m/solvers/mumpsnoneoptions.m	(revision 23430)
@@ -10,6 +10,7 @@
 
 %default mumps options
-PETSC_VERSION=IssmConfig('_PETSC_MAJOR_');
-if PETSC_VERSION==2.,
+PETSC_MAJOR=IssmConfig('_PETSC_MAJOR_');
+PETSC_MINOR=IssmConfig('_PETSC_MINOR_');
+if PETSC_MAJOR==2.,
 	mumps.toolkit='petsc';
 	mumps.mat_type=getfieldvalue(options,'mat_type','aijmumps');
@@ -17,15 +18,17 @@
 	mumps.pc_type=getfieldvalue(options,'pc_type','lu');
 	mumps.mat_mumps_icntl_14=getfieldvalue(options,'mat_mumps_icntl_14',120);
-	mumps.pc_factor_shift_positive_definite=getfieldvalue(options,'pc_factor_shift_positive_definite','true');
 end
 
-if PETSC_VERSION==3.,
+if PETSC_MAJOR==3.,
 	mumps.toolkit='petsc';
 	mumps.mat_type=getfieldvalue(options,'mat_type','mpiaij');
 	mumps.ksp_type=getfieldvalue(options,'ksp_type','preonly');
 	mumps.pc_type=getfieldvalue(options,'pc_type','lu');
-	mumps.pc_factor_mat_solver_package=getfieldvalue(options,'pc_factor_mat_solver_package','mumps');
+	if PETSC_MINOR>8
+		mumps.pc_factor_mat_solver_type=getfieldvalue(options,'pc_factor_mat_solver_type','mumps');
+	else
+		mumps.pc_factor_mat_solver_package=getfieldvalue(options,'pc_factor_mat_solver_package','mumps');
+	end
 	mumps.mat_mumps_icntl_14=getfieldvalue(options,'mat_mumps_icntl_14',120);
-	mumps.pc_factor_shift_positive_definite=getfieldvalue(options,'pc_factor_shift_positive_definite','true');
 	mumps.mat_mumps_icntl_28=2; %1=serial, 2=parallel
 	mumps.mat_mumps_icntl_29=2; %parallel ordering 1 = ptscotch, 2 = parmetis
Index: /issm/trunk-jpl/src/m/solvers/mumpsoptions.m
===================================================================
--- /issm/trunk-jpl/src/m/solvers/mumpsoptions.m	(revision 23429)
+++ /issm/trunk-jpl/src/m/solvers/mumpsoptions.m	(revision 23430)
@@ -10,6 +10,7 @@
 
 %default mumps options
-PETSC_VERSION=IssmConfig('_PETSC_MAJOR_');
-if PETSC_VERSION==2.,
+PETSC_MAJOR=IssmConfig('_PETSC_MAJOR_');
+PETSC_MINOR=IssmConfig('_PETSC_MINOR_');
+if PETSC_MAJOR==2.,
 	mumps.toolkit='petsc';
 	mumps.mat_type=getfieldvalue(options,'mat_type','aijmumps');
@@ -17,17 +18,17 @@
 	mumps.pc_type=getfieldvalue(options,'pc_type','lu');
 	mumps.mat_mumps_icntl_14=getfieldvalue(options,'mat_mumps_icntl_14',120);
-	mumps.pc_factor_shift_positive_definite=getfieldvalue(options,'pc_factor_shift_positive_definite','true');
 end
 
-if PETSC_VERSION==3.,
+if PETSC_MAJOR==3.,
 	mumps.toolkit='petsc';
 	mumps.mat_type=getfieldvalue(options,'mat_type','mpiaij');
 	mumps.ksp_type=getfieldvalue(options,'ksp_type','preonly');
 	mumps.pc_type=getfieldvalue(options,'pc_type','lu');
-	mumps.pc_factor_mat_solver_package=getfieldvalue(options,'pc_factor_mat_solver_package','mumps');
+	if PETSC_MINOR>8
+		mumps.pc_factor_mat_solver_type=getfieldvalue(options,'pc_factor_mat_solver_type','mumps');
+	else
+		mumps.pc_factor_mat_solver_package=getfieldvalue(options,'pc_factor_mat_solver_package','mumps');
+	end
 	mumps.mat_mumps_icntl_14=getfieldvalue(options,'mat_mumps_icntl_14',120);
-
-	%Seems like this one is not needed anymore
-	mumps.pc_factor_shift_positive_definite=getfieldvalue(options,'pc_factor_shift_positive_definite','true');
 
 	%These 2 lines make raijin break (ptwgts error during solver with PETSc 3.3)
Index: /issm/trunk-jpl/src/m/solvers/mumpsoptions.py
===================================================================
--- /issm/trunk-jpl/src/m/solvers/mumpsoptions.py	(revision 23429)
+++ /issm/trunk-jpl/src/m/solvers/mumpsoptions.py	(revision 23430)
@@ -16,6 +16,7 @@
 
 	#default mumps options
-	PETSC_VERSION=IssmConfig('_PETSC_MAJOR_')[0]
-	if PETSC_VERSION==2.:
+	PETSC_MAJOR=IssmConfig('_PETSC_MAJOR_')[0]
+        PETSC_MINOR=IssmConfig('_PETSC_MINOR_')[0]
+	if PETSC_MAJOR==2.:
 		mumps['toolkit']='petsc'
 		mumps['mat_type']=options.getfieldvalue('mat_type','aijmumps')
@@ -23,13 +24,14 @@
 		mumps['pc_type']=options.getfieldvalue('pc_type','lu')
 		mumps['mat_mumps_icntl_14']=options.getfieldvalue('mat_mumps_icntl_14',120)
-		mumps['pc_factor_shift_positive_definite']=options.getfieldvalue('pc_factor_shift_positive_definite','true')
-	if PETSC_VERSION==3.:
+	if PETSC_MAJOR==3.:
 		mumps['toolkit']='petsc'
 		mumps['mat_type']=options.getfieldvalue('mat_type','mpiaij')
 		mumps['ksp_type']=options.getfieldvalue('ksp_type','preonly')
 		mumps['pc_type']=options.getfieldvalue('pc_type','lu')
-		mumps['pc_factor_mat_solver_package']=options.getfieldvalue('pc_factor_mat_solver_package','mumps')
+                if PETSC_MINOR>8.:
+                    mumps['pc_factor_mat_solver_type']=options.getfieldvalue('pc_factor_mat_solver_type','mumps')
+                else:
+                    mumps['pc_factor_mat_solver_package']=options.getfieldvalue('pc_factor_mat_solver_package','mumps')
 		mumps['mat_mumps_icntl_14']=options.getfieldvalue('mat_mumps_icntl_14',120)
-		mumps['pc_factor_shift_positive_definite']=options.getfieldvalue('pc_factor_shift_positive_definite','true')
 
 	return mumps
