diff --git a/dune/istl/test/bcrsbuild.cc b/dune/istl/test/bcrsbuild.cc
index ab51de8b00c311d9e6627c5c2df0c3f18e23d94f..ca78a7b724eb73eb385f273f7e3d4c4b321fb801 100644
--- a/dune/istl/test/bcrsbuild.cc
+++ b/dune/istl/test/bcrsbuild.cc
@@ -80,9 +80,9 @@ struct Builder<Dune::BCRSMatrix<B,A> >
        }*/
   }
 
-  void rowWiseBuild(int rows, int cols)
+  void rowWiseBuild(Dune::BCRSMatrix<B,A> matrix, int rows, int cols)
   {
-    Dune::BCRSMatrix<B,A> matrix( rows, cols, Dune::BCRSMatrix<B,A>::row_wise );
+
     for(typename Dune::BCRSMatrix<B,A>::CreateIterator ci=matrix.createbegin(), cend=matrix.createend();
         ci!=cend; ++ci)
     {
@@ -99,6 +99,19 @@ struct Builder<Dune::BCRSMatrix<B,A> >
     Dune::BCRSMatrix<B,A> matrix1(matrix);
     Dune::printmatrix(std::cout, matrix, "row_wise", "row");
   }
+
+  void rowWiseBuild(int rows, int cols)
+  {
+    Dune::BCRSMatrix<B,A> matrix( rows, cols, Dune::BCRSMatrix<B,A>::row_wise );
+    rowWiseBuild(matrix, rows, cols);
+  }
+
+  void rowWiseBuild(int rows, int cols, int nnz)
+  {
+    Dune::BCRSMatrix<B,A> matrix( rows, cols, nnz, Dune::BCRSMatrix<B,A>::row_wise );
+    rowWiseBuild(matrix, rows, cols);
+  }
+
 };
 
 // This code used to trigger a valgrind 'uninitialized memory' warning; see FS 1041
@@ -115,6 +128,7 @@ int main()
   try{
     Builder<Dune::BCRSMatrix<Dune::FieldMatrix<double,1,1> > > builder;
     builder.randomBuild(5,4);
+    builder.rowWiseBuild(5,4,10);
     builder.rowWiseBuild(5,4);
     testDoubleSetSize();
   }catch(Dune::Exception e) {