diff --git a/dune/solvers/iterationsteps/linegsstep.cc b/dune/solvers/iterationsteps/linegsstep.cc
index 47e1e4dde963167f36fac007cdd798febcd780c7..a28d981dfeab4512d942ebb10bf7842b60b29e89 100755
--- a/dune/solvers/iterationsteps/linegsstep.cc
+++ b/dune/solvers/iterationsteps/linegsstep.cc
@@ -1,5 +1,5 @@
 #include <dune/istl/btdmatrix.hh>
-
+#include <dune/istl/scaledidmatrix.hh>
 
 template<class OperatorType, class DiscFuncType, class BitVectorType>
 inline
@@ -62,7 +62,7 @@ void LineGSStep<OperatorType, DiscFuncType, BitVectorType >::iterate()
                     tridiagonalMatrix[j][j-1] = 0;
                 
                 // diagonal
-                tridiagonalMatrix[j][j] = 1;
+                tridiagonalMatrix[j][j] = Dune::ScaledIdentityMatrix<double,BlockSize>(1);
                 
                 // left off-diagonal:
                 if (j<current_block_size-1)