diff --git a/dune/solvers/test/gssteptest.cc b/dune/solvers/test/gssteptest.cc
index 872c9786ffc4e5910904074ded7a7c775f32ae76..d6e56b98990ae9ce89a23a8a42790575febc4341 100644
--- a/dune/solvers/test/gssteptest.cc
+++ b/dune/solvers/test/gssteptest.cc
@@ -23,12 +23,13 @@
   *  is solved correctly for a random rhs by a LoopSolver employing
   *  a GSStep.
   */
+template <size_t blocksize>
 struct GSTestSuite {
   template <class GridType>
   bool check(const GridType& grid) {
     bool passed = true;
 
-    using Problem = SymmetricSampleProblem<1, typename GridType::LevelGridView>;
+    using Problem = SymmetricSampleProblem<blocksize, typename GridType::LevelGridView>;
     Problem p(grid.levelGridView(grid.maxLevel()));
 
     const auto verbosity = Solver::QUIET;
@@ -169,8 +170,13 @@ int main(int argc, char** argv) {
   Dune::MPIHelper::instance(argc, argv);
   bool passed(true);
 
-  GSTestSuite testsuite;
-  passed = checkWithStandardGrids(testsuite);
+  GSTestSuite<1> testsuite1;
+  passed = passed and checkWithStandardGrids(testsuite1);
+
+  std::cout << std::endl;
+
+  GSTestSuite<2> testsuite2;
+  passed = passed and checkWithStandardGrids(testsuite2);
 
   return passed ? 0 : 1;
 }