diff --git a/dune/solvers/test/cgsteptest.cc b/dune/solvers/test/cgsteptest.cc
index d96088403e25cb55f2917b859fdf6db4040f4e1f..3bf9ac762811bde627254272f8f1a8dbf1015b44 100644
--- a/dune/solvers/test/cgsteptest.cc
+++ b/dune/solvers/test/cgsteptest.cc
@@ -6,6 +6,7 @@
 #include <iostream>
 
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 #include <dune/solvers/norms/energynorm.hh>
 #include <dune/solvers/solvers/loopsolver.hh>
@@ -171,6 +172,7 @@ struct CGTestSuite
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
     CGTestSuite testsuite;
@@ -179,8 +181,6 @@ int main(int argc, char** argv) try
     return passed ? 0 : 1;
 }
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
+    return 1;
 }
-
diff --git a/dune/solvers/test/genericvectortoolstest.cc b/dune/solvers/test/genericvectortoolstest.cc
index 9bdb1239de007b42bf451b81c35ac49bc9f6a3ef..22dad8092ec9af2b84513140c7753bbd472a563f 100644
--- a/dune/solvers/test/genericvectortoolstest.cc
+++ b/dune/solvers/test/genericvectortoolstest.cc
@@ -7,6 +7,7 @@
 
 #include <dune/common/exceptions.hh>
 #include <dune/common/fvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 #include <dune/istl/bvector.hh>
 
@@ -54,7 +55,7 @@ bool check()
 
 int main(int argc, char** argv) try
 {
-
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
     static const size_t vec_size = 7;
@@ -72,10 +73,7 @@ int main(int argc, char** argv) try
 
     return passed ? 0 : 1;
 }
-
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
- }
-
+    return 1;
+}
diff --git a/dune/solvers/test/lowrankoperatortest.cc b/dune/solvers/test/lowrankoperatortest.cc
index dfaf7e38806ad327e0e5df94d7886f7eebe69197..12c514c5f704f322f5654b50885264924fbedefc 100644
--- a/dune/solvers/test/lowrankoperatortest.cc
+++ b/dune/solvers/test/lowrankoperatortest.cc
@@ -9,6 +9,7 @@
 #include <dune/common/fvector.hh>
 #include <dune/common/fmatrix.hh>
 #include <dune/common/diagonalmatrix.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 #include <dune/istl/bvector.hh>
 #include <dune/istl/matrix.hh>
@@ -183,6 +184,7 @@ int main(int argc, char** argv) try
 {
 //    static const int block_size = BLOCKSIZE;
 
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
     passed = check<Dune::Matrix<Dune::ScaledIdentityMatrix<double, 1> > >();
@@ -198,10 +200,7 @@ int main(int argc, char** argv) try
 }
 
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
- }
-
-
+    return 1;
+}
 
diff --git a/dune/solvers/test/mmgtest.cc b/dune/solvers/test/mmgtest.cc
index 30917d8e5b2402f296e1f250c1bb48dec453f9a4..27a1c0990887396ebc4e31589a44c0326265d2db 100644
--- a/dune/solvers/test/mmgtest.cc
+++ b/dune/solvers/test/mmgtest.cc
@@ -9,6 +9,7 @@
 
 // dune-common includes
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 // dune-istl includes
 #include <dune/istl/bcrsmatrix.hh>
@@ -175,6 +176,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName="")
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
 
@@ -196,8 +198,6 @@ int main(int argc, char** argv) try
     return passed ? 0 : 1;
 }
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
+    return 1;
 }
-
diff --git a/dune/solvers/test/multigridtest.cc b/dune/solvers/test/multigridtest.cc
index f61edff1160c29822e14bd972d9a5765280f3e44..67104b1ea294d102415be9e750bf75d4ca19b98c 100644
--- a/dune/solvers/test/multigridtest.cc
+++ b/dune/solvers/test/multigridtest.cc
@@ -9,6 +9,7 @@
 
 // dune-common includes
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 // dune-istl includes
 #include <dune/istl/bcrsmatrix.hh>
@@ -175,6 +176,7 @@ struct MultigridTestSuite
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
     MultigridTestSuite<1> testsuite1;
@@ -190,4 +192,3 @@ catch (Dune::Exception e) {
     std::cout << e << std::endl;
     return 1;
 }
-
diff --git a/dune/solvers/test/nulloperatortest.cc b/dune/solvers/test/nulloperatortest.cc
index 20ab7c8aeea7ed4442c82fdfc522ec87f1c9b7de..d8a1905633658887a53bd1b510cc46dc5609ccc8 100644
--- a/dune/solvers/test/nulloperatortest.cc
+++ b/dune/solvers/test/nulloperatortest.cc
@@ -9,6 +9,7 @@
 #include <dune/common/fvector.hh>
 #include <dune/common/fmatrix.hh>
 #include <dune/common/diagonalmatrix.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 #include <dune/istl/bvector.hh>
 #include <dune/istl/scaledidmatrix.hh>
@@ -85,6 +86,8 @@ bool check()
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
+
     static const int block_size = BLOCKSIZE;
 
     bool passed;
@@ -95,11 +98,7 @@ int main(int argc, char** argv) try
 
     return passed ? 0 : 1;
 }
-
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
- }
-
-
+    return 1;
+}
diff --git a/dune/solvers/test/obstacletnnmgtest.cc b/dune/solvers/test/obstacletnnmgtest.cc
index af0e1838723e061eadc88e2ef1bbef599f11610a..f1de17ef7160c0b413dc84dad1c8db81fa5c634b 100644
--- a/dune/solvers/test/obstacletnnmgtest.cc
+++ b/dune/solvers/test/obstacletnnmgtest.cc
@@ -9,6 +9,7 @@
 
 // dune-common includes
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 // dune-istl includes
 #include <dune/istl/bcrsmatrix.hh>
@@ -175,6 +176,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName="")
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
 
@@ -196,8 +198,6 @@ int main(int argc, char** argv) try
     return passed ? 0 : 1;
 }
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
+    return 1;
 }
-
diff --git a/dune/solvers/test/projectedgradienttest.cc b/dune/solvers/test/projectedgradienttest.cc
index 908f9790fcc3b9bc20751f6d565da5d08e71170b..3a6796de15cb14a898a2bf2c928d8f8c662c71e6 100644
--- a/dune/solvers/test/projectedgradienttest.cc
+++ b/dune/solvers/test/projectedgradienttest.cc
@@ -6,6 +6,7 @@
 
 // dune-common includes
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 // dune-istl includes
 #include <dune/istl/bcrsmatrix.hh>
@@ -142,6 +143,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName, int maxIterations
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
 
@@ -167,8 +169,6 @@ int main(int argc, char** argv) try
     return passed ? 0 : 1;
 }
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
+    return 1;
 }
-
diff --git a/dune/solvers/test/quadraticipoptsolvertest.cc b/dune/solvers/test/quadraticipoptsolvertest.cc
index befcb5d83f89adc691bc2ae189efd70c8f639826..7f3a945923725a1301f353167ae1661fe85433bb 100644
--- a/dune/solvers/test/quadraticipoptsolvertest.cc
+++ b/dune/solvers/test/quadraticipoptsolvertest.cc
@@ -9,6 +9,7 @@
 
 // dune-common includes
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 // dune-istl includes
 #include <dune/istl/bcrsmatrix.hh>
@@ -153,6 +154,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName="")
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
     bool passed(true);
 
 
@@ -174,8 +176,6 @@ int main(int argc, char** argv) try
     return passed ? 0 : 1;
 }
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
+    return 1;
 }
-
diff --git a/dune/solvers/test/sumoperatortest.cc b/dune/solvers/test/sumoperatortest.cc
index 95393f2e297d0e71e880f7a7ba67eea87ad2bc96..4e044f69d6631c038a7bd82ca83967bd29b0dacb 100644
--- a/dune/solvers/test/sumoperatortest.cc
+++ b/dune/solvers/test/sumoperatortest.cc
@@ -9,6 +9,7 @@
 #include <dune/common/fvector.hh>
 #include <dune/common/fmatrix.hh>
 #include <dune/common/diagonalmatrix.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 #include <dune/istl/bvector.hh>
 #include <dune/istl/matrix.hh>
@@ -171,6 +172,8 @@ bool check()
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
+
     static const int block_size = BLOCKSIZE;
 
     bool passed(true);
@@ -193,10 +196,7 @@ int main(int argc, char** argv) try
 
     return passed ? 0 : 1;
 }
-
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
- }
-
+    return 1;
+}
diff --git a/dune/solvers/test/umfpacksolvertest.cc b/dune/solvers/test/umfpacksolvertest.cc
index a94bbd7d0b0e6831f50020f6945b1c404b52d701..8fb0132810fc557453961395dfdf1879dc041889 100644
--- a/dune/solvers/test/umfpacksolvertest.cc
+++ b/dune/solvers/test/umfpacksolvertest.cc
@@ -8,6 +8,7 @@
 #include <sstream>
 
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/parallel/mpihelper.hh>
 
 #include <dune/istl/bcrsmatrix.hh>
 
@@ -102,6 +103,8 @@ struct UMFPackSolverTestSuite
 
 int main(int argc, char** argv) try
 {
+    Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
+
     bool passed = true;
 
     UMFPackSolverTestSuite<1> testsuite1;
@@ -112,8 +115,7 @@ int main(int argc, char** argv) try
     return passed ? 0 : 1;
 }
 catch (Dune::Exception e) {
-
     std::cout << e << std::endl;
-
+    return 1;
 }