diff --git a/dune/alugrid/impl/parallel/gitter_pll_impl.cc b/dune/alugrid/impl/parallel/gitter_pll_impl.cc
index 1bfe57e88a98f41bacd3ebbdf728126957b7ee50..8998d75340e3e18208f72a75812b31221350e449 100644
--- a/dune/alugrid/impl/parallel/gitter_pll_impl.cc
+++ b/dune/alugrid/impl/parallel/gitter_pll_impl.cc
@@ -2223,6 +2223,9 @@ namespace ALUGrid
       _mpaccess(mpa), _macrogitter (0) , _ppv( 0 )
   {
     _macrogitter = new MacroGitterBasisPll (dim, this);
+
+    dumpInfo();
+
     alugrid_assert (_macrogitter);
     notifyMacroGridChanges ();
     return;
@@ -2285,6 +2288,8 @@ namespace ALUGrid
     // create empty macro gitter
     if(!_macrogitter) _macrogitter = new MacroGitterBasisPll (dim, this);
 
+    dumpInfo();
+
     alugrid_assert (_macrogitter);
     notifyMacroGridChanges ();
     return;
@@ -2299,6 +2304,9 @@ namespace ALUGrid
     alugrid_assert (debugOption (20) ? (std::cout << "GitterBasisPll::GitterBasisPll ( istream& = \"" << &in << "\" ...)" << std::endl, 1) : 1);
 
     _macrogitter = new MacroGitterBasisPll (dim, this, in);
+
+    dumpInfo();
+
     alugrid_assert ( _macrogitter );
     notifyMacroGridChanges ();
   }
diff --git a/dune/alugrid/impl/parallel/gitter_pll_impl.h b/dune/alugrid/impl/parallel/gitter_pll_impl.h
index ef4481eea336171c51f8fc83fccbaa7461fb3e6b..e6c987c2a53622143ca8cb8732a690fb931c9b5d 100644
--- a/dune/alugrid/impl/parallel/gitter_pll_impl.h
+++ b/dune/alugrid/impl/parallel/gitter_pll_impl.h
@@ -881,6 +881,7 @@ namespace ALUGrid
       virtual inline const MpAccessLocal & mpAccess () const;
     protected :
       GitterBasisPll (const int dim, MpAccessLocal & );
+      virtual void dumpInfo() const { if( _mpaccess.myrank() == 0 ) container().dumpInfo(); }
 
     public :
       virtual inline MacroGitterPll & containerPll ();
diff --git a/dune/alugrid/impl/parallel/mpAccess_MPI.h b/dune/alugrid/impl/parallel/mpAccess_MPI.h
index 3c61a71fd850fde32e611ab778a6e4cfa4beaf96..c7e8dd1c9ac1a167d93756737366f6f18cad2c12 100644
--- a/dune/alugrid/impl/parallel/mpAccess_MPI.h
+++ b/dune/alugrid/impl/parallel/mpAccess_MPI.h
@@ -169,23 +169,6 @@ namespace ALUGrid
 
 // include inline implementation
 #include <dune/alugrid/impl/parallel/mpAccess_MPI_inline.h>
-
-namespace ALUGrid
-{
-  inline int isMaterRank() { int r=0;
-    MPI_Initialized( &r );
-    if( r ) MPI_Comm_rank( MPI_COMM_WORLD, &r);
-    return r == 0 ;
-  }
-}
-
-#else  // #if HAVE_MPI
-
-namespace ALUGrid
-{
-  inline int isMaterRank() { return 1; }
-}
-
 #endif // #if HAVE_MPI
 
 #endif // #ifndef MPACCESS_MPI_H_INCLUDED
diff --git a/dune/alugrid/impl/serial/gitter_impl.cc b/dune/alugrid/impl/serial/gitter_impl.cc
index 1e41a99e56b36adc01aca91ba33830450f9aaf97..19dc35d7c05f385c8dbc6b7125c96ef8519dd812 100644
--- a/dune/alugrid/impl/serial/gitter_impl.cc
+++ b/dune/alugrid/impl/serial/gitter_impl.cc
@@ -16,8 +16,8 @@ namespace ALUGrid
   void GitterBasis::Objects::TetraEmpty::
   os2VertexData ( ObjectStream &os, GatherScatterType &gs, int borderFace )
   {
-      //for the 2d case we do not want to transmit data for 
-      //non-2d elements  
+      //for the 2d case we do not want to transmit data for
+      //non-2d elements
     if(!is2d() || myvertex(borderFace)->is2d())
     // only one opposite vertex for tetras
     gs.setData( os, *myvertex( borderFace ) );
@@ -45,9 +45,9 @@ namespace ALUGrid
     alugrid_assert ( numFaces == 3 );
     for (int i = 0; i <numFaces; ++i)
     {
-      //for the 2d case we do not want to transmit data for 
+      //for the 2d case we do not want to transmit data for
       //non-2d elements
-      if( !is2d() ||myhface3( facesNotOnFace[i] )->is2d())   
+      if( !is2d() ||myhface3( facesNotOnFace[i] )->is2d())
       gs.setData( os, *myhface3( facesNotOnFace[i] ) );
     }
   }
@@ -59,7 +59,7 @@ namespace ALUGrid
   VertexData2os(ObjectStream & os, GatherScatterType & gs, int borderFace )
   {
     // only send one vertex
-    //for the 2d case we do not want to transmit data for 
+    //for the 2d case we do not want to transmit data for
     //non-2d elements
     if(!is2d() || myvertex(borderFace)->is2d())
     gs.sendData( os, *myvertex(borderFace) );
@@ -87,9 +87,9 @@ namespace ALUGrid
     alugrid_assert ( numFaces == 3 );
     for (int i = 0; i <numFaces; ++i)
     {
-      //for the 2d case we do not want to transmit data for 
+      //for the 2d case we do not want to transmit data for
       //non-2d elements
-      if( !is2d() ||myhface3( facesNotOnFace[i] )->is2d())       
+      if( !is2d() ||myhface3( facesNotOnFace[i] )->is2d())
       gs.sendData( os,  *myhface3( facesNotOnFace[i] ) );
     }
   }
@@ -223,7 +223,7 @@ namespace ALUGrid
     alugrid_assert ( numVertices == 4 );
     for (int i = 0; i <numVertices; ++i)
     {
-      //for the 2d case we do not want to transmit data for 
+      //for the 2d case we do not want to transmit data for
       //non-2d elements
       if(!is2d() || myvertex(verticesNotOnFace[i])->is2d() )
       gs.setData( os, *myvertex( verticesNotOnFace[i] ) );
@@ -254,9 +254,9 @@ namespace ALUGrid
     alugrid_assert ( numFaces == 5 );
     for (int i = 0; i <numFaces; ++i)
     {
-      //for the 2d case we do not want to transmit data for 
+      //for the 2d case we do not want to transmit data for
       //non-2d elements
-      if(!is2d() || myhface4( facesNotOnFace[i])->is2d())   
+      if(!is2d() || myhface4( facesNotOnFace[i])->is2d())
       gs.setData( os, *myhface4( facesNotOnFace[i] ) );
     }
   }
@@ -273,9 +273,9 @@ namespace ALUGrid
     alugrid_assert ( numVertices == 4 );
     for (int i = 0; i <numVertices; ++i)
     {
-      //for the 2d case we do not want to transmit data for 
-      //non-2d elements    
-      if(!is2d() || myvertex(verticesNotOnFace[i])->is2d())   
+      //for the 2d case we do not want to transmit data for
+      //non-2d elements
+      if(!is2d() || myvertex(verticesNotOnFace[i])->is2d())
       gs.sendData( os, *myvertex( verticesNotOnFace[i] ) );
     }
   }
@@ -302,9 +302,9 @@ namespace ALUGrid
     alugrid_assert ( numFaces == 5 );
     for (int i = 0; i < numFaces; ++i)
     {
-      //for the 2d case we do not want to transmit data for 
-      //non-2d elements    
-      if( !is2d() ||myhface4( facesNotOnFace[i] )->is2d())   
+      //for the 2d case we do not want to transmit data for
+      //non-2d elements
+      if( !is2d() ||myhface4( facesNotOnFace[i] )->is2d())
       gs.sendData( os, *myhface4( facesNotOnFace[i] ) );
     }
   }
@@ -434,6 +434,7 @@ namespace ALUGrid
   {
     _macrogitter = new MacroGitterBasis ( dim, this );
     alugrid_assert (_macrogitter);
+    _macrogitter->dumpInfo();
     notifyMacroGridChanges ();
     return;
   }
@@ -444,6 +445,7 @@ namespace ALUGrid
   {
     _macrogitter = new MacroGitterBasis ( dim, this, in );
     alugrid_assert (_macrogitter);
+    _macrogitter->dumpInfo();
     notifyMacroGridChanges ();
     return;
   }
@@ -460,6 +462,8 @@ namespace ALUGrid
     }
     else
       _macrogitter = new MacroGitterBasis( dim, this, in );
+
+    _macrogitter->dumpInfo();
     alugrid_assert ( _macrogitter );
     notifyMacroGridChanges();
   }
diff --git a/dune/alugrid/impl/serial/gitter_mgb.cc b/dune/alugrid/impl/serial/gitter_mgb.cc
index 517779605856cbf33477c5ab8b678f084e2f66c9..1296e3cf6e1ea2ccdf676dd6ab46930af7bf680c 100644
--- a/dune/alugrid/impl/serial/gitter_mgb.cc
+++ b/dune/alugrid/impl/serial/gitter_mgb.cc
@@ -805,11 +805,6 @@ namespace ALUGrid
     return;
   }
 
-  void initialize ()
-  {
-    Gitter::Makrogitter::_msg.dump();
-  }
-
   void MacroGridBuilder::
   computeVertexElementLinkage( elementMap_t& elementMap,
                                Gitter::ElementPllXIF::vertexelementlinkage_t& vxElemLinkage )
diff --git a/dune/alugrid/impl/serial/gitter_sti.cc b/dune/alugrid/impl/serial/gitter_sti.cc
index 24e1ce2e88f057a433e6dd6b638f137a6b09afe2..e7bc86c4245ab531d113827275cdbf337a6ab236 100644
--- a/dune/alugrid/impl/serial/gitter_sti.cc
+++ b/dune/alugrid/impl/serial/gitter_sti.cc
@@ -876,11 +876,6 @@ namespace ALUGrid
      AccessIterator < hbndseg_STI >::ref;
   }
 
-  Gitter::Makrogitter::Makrogitter ()
-  {
-    initialize();
-  }
-
   Gitter::Makrogitter::~Makrogitter ()
   {
     if( iterators_attached() )
diff --git a/dune/alugrid/impl/serial/gitter_sti.h b/dune/alugrid/impl/serial/gitter_sti.h
index c1fdc526b5e87430d478a8301de1cb4c38a6a948..733b3c39ab2c8ad83e93fbd35fc729ee63e0adb8 100644
--- a/dune/alugrid/impl/serial/gitter_sti.h
+++ b/dune/alugrid/impl/serial/gitter_sti.h
@@ -10,7 +10,6 @@
 #include "../macrofileheader.hh"
 #include "../indexstack.h"
 #include "../parallel/gitter_pll_ldb.h"
-#include "../parallel/mpAccess_MPI.h"
 #include "../projectvertex.h"
 
 #include "myalloc.h"
@@ -1396,7 +1395,6 @@ namespace ALUGrid
                         public AccessIterator < helement_STI >, public AccessIterator < hperiodic_STI >
     {
     protected :
-      Makrogitter ();
       virtual ~Makrogitter ();
     public :
       struct MkGitName
@@ -1404,19 +1402,21 @@ namespace ALUGrid
         std::string name;
         bool ptr;
         MkGitName( const std::string& n ) : name( n ), ptr( false ){}
-        void dump()
+        template <class T>
+        inline void dump( T t )
         {
 #ifdef _OPENMP
 #pragma omp critical
 #endif
           {
-            if( isMaterRank() )
-              if( ! ptr ) { std::cout << std::endl << name; ptr = true ; }
+            if( ! ptr ) { std::cerr << std::endl << name; ptr = true ; }
           }
-        } ~MkGitName() { if( ptr ) std::cerr << std::endl << name ; }
+        } ~MkGitName() { if( ptr ) std::cout << std::endl << name ; }
       };
       static MkGitName _msg;
 
+      virtual void dumpInfo() const { _msg.dump( 1 ); }
+
       virtual int iterators_attached () const;
       virtual MacroFileHeader dumpMacroGrid (std::ostream &, const MacroFileHeader::Format ) const = 0;
 
diff --git a/dune/alugrid/impl/serial/walk.h b/dune/alugrid/impl/serial/walk.h
index bbf52d884b12ef8da4870b3b0e5692837b2309b8..58c7df51803563acfa41da73c7f8ed315ed67d99 100644
--- a/dune/alugrid/impl/serial/walk.h
+++ b/dune/alugrid/impl/serial/walk.h
@@ -654,8 +654,6 @@ namespace ALUGrid
     else return (C &) _walk1.A::item ();
   }
 
-  void initialize ();
-
   ////////////////////////////////////////////////////////////////////////////////
   //
   //  --VectorAlign
diff --git a/dune/alugrid/impl/test/Makefile.am b/dune/alugrid/impl/test/Makefile.am
index 72e233acfc2e3c3e0053659744838a67d1101cfd..26b9cc56ac1fa354b0f87bd54d68ea6211e3a055 100644
--- a/dune/alugrid/impl/test/Makefile.am
+++ b/dune/alugrid/impl/test/Makefile.am
@@ -1,5 +1,9 @@
 EXTRA_PROGRAMS = adapt backuprestore sizes checkrefinement aluthreadsafety
 
+AM_CPPFLAGS += $(DUNEMPICPPFLAGS)
+AM_LDFLAGS += $(DUNEMPILDFLAGS)
+LDADD += $(DUNEMPILIBS)
+
 ALUSOURCES = \
   $(top_srcdir)/dune/alugrid/impl/binaryio.cc \
   $(top_srcdir)/dune/alugrid/impl/macrofileheader.cc \