diff --git a/dune/solvers/common/numproc.hh b/dune/solvers/common/numproc.hh
index 98dea250134781591676d20fa5a73ce90d5526f4..17829177fcbc9ed84edc37c2806c8fb8ac276f2e 100644
--- a/dune/solvers/common/numproc.hh
+++ b/dune/solvers/common/numproc.hh
@@ -4,6 +4,7 @@
 #define DUNE_NUMPROC_HH
 
 #include <dune/common/exceptions.hh>
+#include <dune/common/parametertree.hh>
 
 /** \brief Exception thrown by solvers */
 class SolverError : public Dune::Exception {};
@@ -22,6 +23,17 @@ class SolverError : public Dune::Exception {};
             : verbosity_(verbosity)
         {}
 
+        /** \brief Construct from parameter file. */
+        NumProc(const Dune::ParameterTree& config)
+        {
+            setVerbosity(config);
+        }
+
+        /** \brief Set verbosity from parameter file. */
+        void setVerbosity(const Dune::ParameterTree& config) {
+            verbosity_ = config.get<VerbosityMode>("verbosity");
+        }
+
         /** \brief Set the verbosity level */
         void setVerbosity(VerbosityMode verbosity) {verbosity_ = verbosity;}