diff --git a/dune/alugrid/2d/geometry.hh b/dune/alugrid/2d/geometry.hh
index 3fc9b2390945959e3f2dbecf893b1e559870a47e..368edb2246c34dc4333936b500222beb5c74429b 100644
--- a/dune/alugrid/2d/geometry.hh
+++ b/dune/alugrid/2d/geometry.hh
@@ -728,6 +728,12 @@ namespace Dune
     // invalidate geometry implementation 
     void invalidate () ;
 
+    // type of object provider 
+    typedef ALUMemoryProvider< GeometryImplType > GeometryProviderType ;
+
+    //! return storage provider for geometry objects 
+    static GeometryProviderType& geoProvider();
+
   protected:
     // return reference coordinates of the alu triangle 
     static std::pair< FieldMatrix< alu2d_ctype, 4, 2 >, FieldVector< alu2d_ctype, 4 > >
@@ -740,12 +746,6 @@ namespace Dune
     //! get a new pointer object
     void getObject();
 
-    // type of object provider 
-    typedef ALUMemoryProvider< GeometryImplType > GeometryProviderType ;
-
-    //! return storage provider for geometry objects 
-    static GeometryProviderType& geoProvider();
-
     // return reference to geometry implementation 
     GeometryImplType& geoImpl() const
     {
@@ -757,6 +757,7 @@ namespace Dune
     GeometryImplType* geoImpl_;
   };
 
+
   namespace FacadeOptions
   {
     //! geometry can be stored as an object 
diff --git a/dune/alugrid/2d/geometry_imp.cc b/dune/alugrid/2d/geometry_imp.cc
index 21b384aef8dd72151c919478706ca67b2002c068..58e6a5aed2ec131541fc20e80589f2c7b078d5b0 100644
--- a/dune/alugrid/2d/geometry_imp.cc
+++ b/dune/alugrid/2d/geometry_imp.cc
@@ -13,8 +13,8 @@ namespace Dune
 // --ALU2dGridGeometry
 // --Geometry
 //**********************************************************************
-//! return storage provider for geometry objects 
 
+//! return storage provider for geometry objects 
 template< int mydim, int cdim, class GridImp >
 inline typename ALU2dGridGeometry< mydim, cdim, GridImp >::GeometryProviderType&
 ALU2dGridGeometry< mydim, cdim, GridImp >::geoProvider()
diff --git a/dune/alugrid/2d/grid_imp.cc b/dune/alugrid/2d/grid_imp.cc
index be25e50af324665700cd24ec0d81373995f61f09..9e36d08782d03b33b5a3bc5ae3ad2b677ce130ed 100644
--- a/dune/alugrid/2d/grid_imp.cc
+++ b/dune/alugrid/2d/grid_imp.cc
@@ -557,6 +557,13 @@ namespace Dune
     geomTypes_[ 2 ].push_back( GeometryType( basic, 0 ) );
     geomTypes_[ 1 ].push_back( GeometryType( basic, 1 ) );
     geomTypes_[ 0 ].push_back( GeometryType( basic, 2 ) );
+
+    // initialize static storage variables 
+    ALU2dGridGeometry<0,   dimworld, const ThisType> :: geoProvider();
+    ALU2dGridGeometry<1,   dimworld, const ThisType> :: geoProvider();
+    ALU2dGridGeometry<dim, dimworld, const ThisType> :: geoProvider();
+
+    ALU2dGridIntersectionBase < const ThisType > :: LocalGeometryStorageType :: instance();
   }
     
    //! get global id set of grid
diff --git a/dune/alugrid/3d/geometry.hh b/dune/alugrid/3d/geometry.hh
index bb04e86a5395bfd498d51c7ad3791f288956772b..c17faa226742f6525ae14144b0f2a473ccc0e966 100644
--- a/dune/alugrid/3d/geometry.hh
+++ b/dune/alugrid/3d/geometry.hh
@@ -753,14 +753,6 @@ namespace Dune
     //! invalidate geometry implementation to avoid errors 
     bool valid () const ;
 
-  protected:
-    //! assign pointer 
-    void assign( const ALU3dGridGeometry& other );
-    //! remove pointer object
-    void removeObj();
-    //! get a new pointer object
-    void getObject();
-
     // type of object provider 
     typedef ALUMemoryProvider< GeometryImplType > GeometryProviderType ;
 
@@ -771,6 +763,14 @@ namespace Dune
       return storage;
     }
 
+  protected:
+    //! assign pointer 
+    void assign( const ALU3dGridGeometry& other );
+    //! remove pointer object
+    void removeObj();
+    //! get a new pointer object
+    void getObject();
+
     // return reference to geometry implementation 
     GeometryImplType& geoImpl() const 
     { 
diff --git a/dune/alugrid/3d/grid_inline.hh b/dune/alugrid/3d/grid_inline.hh
index 367c7abff253bb8fb9679bc910ec97376bca4c5c..0138a4d9f45c1786c90601f384d93dec3460dabe 100644
--- a/dune/alugrid/3d/grid_inline.hh
+++ b/dune/alugrid/3d/grid_inline.hh
@@ -69,6 +69,12 @@ namespace Dune
   
     postAdapt();
     calcExtras();
+
+    // initialize static storage variables 
+    ALU3dGridGeometry< 0, 3, const ThisType> :: geoProvider();
+    ALU3dGridGeometry< 1, 3, const ThisType> :: geoProvider();
+    ALU3dGridGeometry< 2, 3, const ThisType> :: geoProvider();
+    ALU3dGridGeometry< 3, 3, const ThisType> :: geoProvider();
   } // end constructor