diff --git a/fem/discretefeopimp.hh b/fem/discretefeopimp.hh
index 715833f577667af2cf6f9b906e9ebc094cd41f9c..204d41863cbab1b98c04bc773e706b5d68083414 100644
--- a/fem/discretefeopimp.hh
+++ b/fem/discretefeopimp.hh
@@ -135,7 +135,7 @@ namespace Dune {
       typedef typename FunctionSpaceType::GridType GridType;
       // the corresponding grid
       FunctionSpaceType & functionSpace_= dest.getFunctionSpace();
-      GridType &grid = functionSpace_.getGrid();
+      const GridType &grid = functionSpace_.getGrid();
 
       if(leaf_)
       {
diff --git a/fem/discreteoperatorimp.hh b/fem/discreteoperatorimp.hh
index 8e72886bcd9da35f5137e8717a603ed2b96215e9..9a2d3f012fb646cdd70152389fc820f2eceddfb4 100644
--- a/fem/discreteoperatorimp.hh
+++ b/fem/discreteoperatorimp.hh
@@ -109,7 +109,7 @@ namespace Dune {
       typedef typename FunctionSpaceType::GridType GridType;
       // the corresponding grid
       const FunctionSpaceType & functionSpace_= dest.getFunctionSpace();
-      GridType &grid = functionSpace_.getGrid();
+      const GridType &grid = functionSpace_.getGrid();
 
       if(leaf_)
       {
diff --git a/fem/feop.hh b/fem/feop.hh
index 671469c695ab711203e47b0a88cd7b5d9def3df2..3ed6a9e78dd1b7fc6c63d7579805fafdfdf57241 100644
--- a/fem/feop.hh
+++ b/fem/feop.hh
@@ -127,7 +127,7 @@ namespace Dune {
 
       typedef typename FunctionSpaceType::BaseFunctionSetType BaseFunctionSetType;
 
-      GridType &grid = functionSpace_.getGrid();
+      const GridType &grid = functionSpace_.getGrid();
 
       typedef typename FunctionSpaceType::Range RangeVecType;
       typedef typename FunctionSpaceType::JacobianRange JacobianRange;
@@ -192,7 +192,7 @@ namespace Dune {
       typedef typename EntityType::IntersectionIterator NeighIt;
       typedef typename NeighIt::BoundaryEntity BoundaryEntityType;
 
-      GridType &grid = functionSpace_.getGrid();
+      const GridType &grid = functionSpace_.getGrid();
 
       DiscFunctionType & arg  = const_cast<DiscFunctionType &> (*arg_);
       DiscFunctionType & dest = (*dest_);
@@ -301,7 +301,7 @@ namespace Dune {
       typedef typename GridType::LeafIterator LeafIterator;
 
 
-      GridType &grid = functionSpace_.getGrid();
+      const GridType &grid = functionSpace_.getGrid();
 
 
       std::cout << "Assemble Matrix!" << std::endl ;
diff --git a/fem/feoperator.hh b/fem/feoperator.hh
index 02ac6805438d45b814cd15c8144d6015c59f80e0..fe6ca447dd0603f2bf8d6cf9644dcc270c4d77c1 100644
--- a/fem/feoperator.hh
+++ b/fem/feoperator.hh
@@ -96,7 +96,7 @@ namespace Dune {
       typedef typename GridType::template codim<0>::LevelIterator LevelIterator;
       typedef typename FunctionSpaceType::BaseFunctionSetType BaseFunctionSetType;
 
-      GridType &grid = functionSpace_.getGrid();
+      const GridType &grid = functionSpace_.getGrid();
 
       {
         LevelIterator it = grid.template lbegin<0>( grid.maxlevel() );
@@ -204,7 +204,7 @@ namespace Dune {
       typedef typename GridType::template codim<0>::LevelIterator LevelIterator;
       typedef typename FunctionSpaceType::BaseFunctionSetType BaseFunctionSetType;
 
-      GridType &grid = functionSpace_.getGrid();
+      const GridType &grid = functionSpace_.getGrid();
 
       typedef typename DiscFunctionType::LocalFunctionType LocalFunctionType;
       typedef typename FunctionSpaceType::Range RangeVecType;
diff --git a/fem/l2projection.hh b/fem/l2projection.hh
index ab51bb0a054ae4f75aadca099f3c23a2e80b0a59..175484329ff11574716e5b73b73143d4487d620e 100644
--- a/fem/l2projection.hh
+++ b/fem/l2projection.hh
@@ -38,7 +38,7 @@ namespace Dune
       typedef typename DiscreteFunctionType::LocalFunctionType LocalFuncType;
 
 
-      GridType & grid = functionSpace_.getGrid();
+      const GridType & grid = functionSpace_.getGrid();
 
       typename FunctionSpaceType::Range ret (0.0);
       typename FunctionSpaceType::Range phi (0.0);