diff --git a/AMDiS/src/parallel/PetscHelper.cc b/AMDiS/src/parallel/PetscHelper.cc
index 0d4617a4891d266ec1cdd81b54bb5bf743d00e6f..28e377df80eedf3dd8872d8b3afb69f248f686c0 100644
--- a/AMDiS/src/parallel/PetscHelper.cc
+++ b/AMDiS/src/parallel/PetscHelper.cc
@@ -308,7 +308,11 @@ namespace AMDiS
     PetscViewer viewer;
     PetscViewerCreate(PETSC_COMM_WORLD, &viewer);
     PetscViewerSetType(viewer, PETSCVIEWERASCII);
+#if (PETSC_VERSION_MINOR >= 7)
+    PetscOptionsView(PETSC_NULL, viewer);
+#else
     PetscOptionsView(viewer);
+#endif
     PetscViewerDestroy(&viewer);
 #endif
       }
diff --git a/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc b/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
index 797642a02b25e8330f93d0e6472e14eaeac66484..626b5407d39185dc8efb98f5eb64c78c44206e2c 100644
--- a/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
+++ b/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
@@ -95,8 +95,13 @@ namespace AMDiS { namespace Parallel {
     PetscViewer viewer;
     PetscViewerCreate(PETSC_COMM_WORLD, &viewer);
     PetscViewerSetType(viewer, PETSCVIEWERASCII);
+#if (PETSC_VERSION_MINOR >= 7)
+    PetscOptionsView(PETSC_NULL, viewer);
+#else
     PetscOptionsView(viewer);
+#endif
     PetscViewerDestroy(&viewer);
+
     }
 #endif
   }
diff --git a/extensions/preconditioner/PetscSolverNavierStokes2.cc b/extensions/preconditioner/PetscSolverNavierStokes2.cc
index 8fa7c644e1b3427b315b3d286cd0dbffd711d011..44ab7b20847f7f92a7ae2bc2eb1c558cb7d31f5b 100644
--- a/extensions/preconditioner/PetscSolverNavierStokes2.cc
+++ b/extensions/preconditioner/PetscSolverNavierStokes2.cc
@@ -139,9 +139,9 @@ namespace AMDiS { namespace Parallel {
     KSPSetOperators(ksp, getMatInterior(), getMatInterior(), SAME_NONZERO_PATTERN);
 #endif
     if (getInfo() >= 10)
-      KSPMonitorSet(ksp, KSPMonitorDefault, PETSC_NULL, PETSC_NULL);
+      KSPMonitorSet(ksp, PETSC_MONITOR_CAST(KSPMonitorDefault), PETSC_NULL, PETSC_NULL);
     else if (getInfo() >= 20)
-      KSPMonitorSet(ksp, KSPMonitorTrueResidualNorm, PETSC_NULL, PETSC_NULL);
+      KSPMonitorSet(ksp, PETSC_MONITOR_CAST(KSPMonitorTrueResidualNorm), PETSC_NULL, PETSC_NULL);
     petsc_helper::setSolver(ksp, "ns_", KSPFGMRES, PCNONE, getRelative(), getTolerance(), getMaxIterations());
 
     // Create null space information.
diff --git a/extensions/preconditioner/PetscSolverPfc.cc b/extensions/preconditioner/PetscSolverPfc.cc
index cb31ac04894ff9f2953f618daaf414fbacf908e9..c7fc9f35dc0516d5bfae89463f18f3ecdb3d6154 100644
--- a/extensions/preconditioner/PetscSolverPfc.cc
+++ b/extensions/preconditioner/PetscSolverPfc.cc
@@ -84,9 +84,9 @@ namespace AMDiS { namespace Parallel {
     KSPSetOperators(ksp, getMatInterior(), getMatInterior(), SAME_NONZERO_PATTERN);
 #endif
     if (getInfo() >= 10)
-      KSPMonitorSet(ksp, KSPMonitorDefault, PETSC_NULL, PETSC_NULL);
+      KSPMonitorSet(ksp, PETSC_MONITOR_CAST(KSPMonitorDefault), PETSC_NULL, PETSC_NULL);
     else if (getInfo() >= 20)
-      KSPMonitorSet(ksp, KSPMonitorTrueResidualNorm, PETSC_NULL, PETSC_NULL);
+      KSPMonitorSet(ksp, PETSC_MONITOR_CASTKSPMonitorTrueResidualNorm), PETSC_NULL, PETSC_NULL);
     petsc_helper::setSolver(ksp, "pfc_", KSPFGMRES, PCNONE, getRelative(), getTolerance(), getMaxIterations());
     KSPSetFromOptions(ksp);
 
diff --git a/extensions/preconditioner/PetscSolverPfc_diag.cc b/extensions/preconditioner/PetscSolverPfc_diag.cc
index 337f4b794e71450ad6c7a59e0d06b758c55db398..68fa80c9a7050ae0ad417df2f12eb42c763a081a 100644
--- a/extensions/preconditioner/PetscSolverPfc_diag.cc
+++ b/extensions/preconditioner/PetscSolverPfc_diag.cc
@@ -82,9 +82,9 @@ namespace AMDiS { namespace Parallel {
     KSPSetOperators(ksp, getMatInterior(), getMatInterior(), SAME_NONZERO_PATTERN);
 #endif
     if (getInfo() >= 10)
-      KSPMonitorSet(ksp, KSPMonitorDefault, PETSC_NULL, PETSC_NULL);
+      KSPMonitorSet(ksp, PETSC_MONITOR_CAST(KSPMonitorDefault), PETSC_NULL, PETSC_NULL);
     else if (getInfo() >= 20)
-      KSPMonitorSet(ksp, KSPMonitorTrueResidualNorm, PETSC_NULL, PETSC_NULL);
+      KSPMonitorSet(ksp, PETSC_MONITOR_CAST(KSPMonitorTrueResidualNorm), PETSC_NULL, PETSC_NULL);
     petsc_helper::setSolver(ksp, "pfc_", KSPFGMRES, PCNONE, getRelative(), getTolerance(), getMaxIterations());
     KSPSetFromOptions(ksp);