diff --git a/dumux/linear/solver.hh b/dumux/linear/solver.hh
index 93d102b4953a71538fbd76a0f3d978a6f7a53f7c..943545c42abe841a73c228f88dc9bb4730019af3 100644
--- a/dumux/linear/solver.hh
+++ b/dumux/linear/solver.hh
@@ -46,9 +46,9 @@ public:
      *       - LinearSolver.Verbosity the verbosity level of the linear solver
      *       - LinearSolver.MaxIterations the maximum iterations of the solver
      *       - LinearSolver.ResidualReduction the residual reduction threshold, i.e. stopping criterion
-     *       - LinearSolver.PreconditionerRelaxation precondition relaxation
-     *       - LinearSolver.PreconditionerIterations the number of preconditioner iterations
-     *       - LinearSolver.PreconditionerVerbosity the preconditioner verbosity level
+     *       - LinearSolver.Preconditioner.Relaxation precondition relaxation
+     *       - LinearSolver.Preconditioner.Iterations the number of preconditioner iterations
+     *       - LinearSolver.Preconditioner.Verbosity the preconditioner verbosity level
      */
     LinearSolver(const std::string& paramGroup = "")
     : paramGroup_(paramGroup)
@@ -56,9 +56,41 @@ public:
         verbosity_ = getParamFromGroup<int>(paramGroup, "LinearSolver.Verbosity", 0);
         maxIter_ = getParamFromGroup<int>(paramGroup, "LinearSolver.MaxIterations", 250);
         residReduction_ = getParamFromGroup<double>(paramGroup, "LinearSolver.ResidualReduction", 1e-13);
-        relaxation_ = getParamFromGroup<double>(paramGroup, "LinearSolver.PreconditionerRelaxation", 1);
-        precondIter_ = getParamFromGroup<int>(paramGroup, "LinearSolver.PreconditionerIterations", 1);
-        precondVerbosity_ = getParamFromGroup<int>(paramGroup, "LinearSolver.PreconditionerVerbosity", 0);
+
+        // for deprecation period we ask also for the "old" parameters but print a warning
+        // the "new" style parameter takes precedence
+        // TODO: Remove all this code after 3.2 and use commented code below
+        if (hasParamInGroup(paramGroup, "LinearSolver.PreconditionerRelaxation"))
+        {
+            std::cerr << "Deprecation warning: parameter LinearSolver.PreconditionerRelaxation is deprecated and will be removed after 3.2. "
+                      << "Use LinearSolver.Preconditioner.Relaxation instead (Preconditioner subgroup)." << std::endl;
+            relaxation_ = getParamFromGroup<double>(paramGroup, "LinearSolver.PreconditionerRelaxation");
+        }
+        else
+            relaxation_ = getParamFromGroup<double>(paramGroup, "LinearSolver.Preconditioner.Relaxation", 1);
+
+        if (hasParamInGroup(paramGroup, "LinearSolver.PreconditionerIterations"))
+        {
+            std::cerr << "Deprecation warning: parameter LinearSolver.PreconditionerIterations is deprecated and will be removed after 3.2. "
+                      << "Use LinearSolver.Preconditioner.Iterations instead (Preconditioner subgroup)." << std::endl;
+            precondIter_ = getParamFromGroup<int>(paramGroup, "LinearSolver.PreconditionerIterations");
+        }
+        else
+            precondIter_ = getParamFromGroup<int>(paramGroup, "LinearSolver.Preconditioner.Iterations", 1);
+
+        if (hasParamInGroup(paramGroup, "LinearSolver.PreconditionerVerbosity"))
+        {
+            std::cerr << "Deprecation warning: parameter LinearSolver.PreconditionerVerbosity is deprecated and will be removed after 3.2. "
+                      << "Use LinearSolver.Preconditioner.Verbosity instead (Preconditioner subgroup)." << std::endl;
+            precondVerbosity_ = getParamFromGroup<int>(paramGroup, "LinearSolver.PreconditionerVerbosity");
+        }
+        else
+            precondVerbosity_ = getParamFromGroup<int>(paramGroup, "LinearSolver.Preconditioner.Verbosity", 0);
+
+        // TODO: use this code instead of the above code after release 3.2
+        // relaxation_ = getParamFromGroup<double>(paramGroup, "LinearSolver.Preconditioner.Relaxation", 1);
+        // precondIter_ = getParamFromGroup<int>(paramGroup, "LinearSolver.Preconditioner.Iterations", 1);
+        // precondVerbosity_ = getParamFromGroup<int>(paramGroup, "LinearSolver.Preconditioner.Verbosity", 0);
     }
 
     /*!