ierr = VecScatterCreateToAll (static_cast<const Vec &>(v), &ctx, &vector);
AssertThrow (ierr == 0, ExcPETScError(ierr));
-#if ((PETSC_VERSION_MAJOR >= 2) && \
+#if ((PETSC_VERSION_MAJOR == 2) && \
(PETSC_VERSION_MINOR < 3) && \
(PETSC_VERSION_SUBMINOR < 3))
AssertThrow (ierr == 0, ExcPETScError(ierr));
// then set flags
-#if (PETSC_VERSION_MAJOR >= 2) && (PETSC_VERSION_MINOR < 3) && (PETSC_VERSION_SUBMINOR < 1)
+#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR < 3) && (PETSC_VERSION_SUBMINOR < 1)
PCICCSetLevels (pc, additional_data.levels);
#else
PCFactorSetLevels (pc, additional_data.levels);
AssertThrow (ierr == 0, ExcPETScError(ierr));
// then set flags
-#if (PETSC_VERSION_MAJOR >= 2) && (PETSC_VERSION_MINOR < 3) && (PETSC_VERSION_SUBMINOR < 1)
+#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR < 3) && (PETSC_VERSION_SUBMINOR < 1)
PCILUSetLevels (pc, additional_data.levels);
#else
PCFactorSetLevels (pc, additional_data.levels);
AssertThrow (ierr == 0, ExcPETScError(ierr));
// set flags as given
-#if (PETSC_VERSION_MAJOR >= 2) && (PETSC_VERSION_MINOR >= 3) && (PETSC_VERSION_SUBMINOR >= 1)
+#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR >= 3) && (PETSC_VERSION_SUBMINOR >= 1)
ierr = PCLUSetPivoting (pc, additional_data.pivoting);
#else
ierr = PCFactorSetPivoting (pc, additional_data.pivoting);
#endif
AssertThrow (ierr == 0, ExcPETScError(ierr));
-#if (PETSC_VERSION_MAJOR >= 2) && (PETSC_VERSION_MINOR < 3)
+#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR < 3)
ierr = PCLUSetZeroPivot (pc, additional_data.zero_pivot);
#else
ierr = PCFactorSetZeroPivot (pc, additional_data.zero_pivot);
AssertThrow (ierr == 0, ExcPETScError(ierr));
-#if (PETSC_VERSION_MAJOR >= 2) && (PETSC_VERSION_MINOR < 3)
+#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR < 3)
ierr = PCLUSetDamping (pc, additional_data.damping);
#else
ierr = PCFactorSetShiftNonzero (pc, additional_data.damping);