diff --git a/dune/fem-dg/misc/runfile.hh b/dune/fem-dg/misc/runfile.hh
index b9d14395c01efba85e388753b35dba46faaef4b6..94826f6bc3673dcfc2fca8600869f7e76b893e7d 100644
--- a/dune/fem-dg/misc/runfile.hh
+++ b/dune/fem-dg/misc/runfile.hh
@@ -23,7 +23,7 @@ namespace Dune {
     size_t timesteps_;
 
     // write in milli seconds
-    inline size_t inMS(const double t) 
+    inline size_t inMS(const double t) const
     {
       return (size_t (t * 1e3));
     }
@@ -134,16 +134,18 @@ namespace Dune {
     }
 
   public:  
-    void flush() 
+    void flush() const
     {
       // if write is > 0 then create speedup file 
       if( writeRunFile_ )
       {
-        times_.push_back( elements_ );
-        const size_t size = times_.size();
-        std::vector< double > sumTimes ( times_ );
-        std::vector< double > maxTimes ( times_ );
-        std::vector< double > minTimes ( times_ );
+        std::vector< double > times( times_ );
+
+        times.push_back( elements_ );
+        const size_t size = times.size();
+        std::vector< double > sumTimes ( times );
+        std::vector< double > maxTimes ( times );
+        std::vector< double > minTimes ( times );
 
         // sum, max, and min for all procs 
         comm_.sum( &sumTimes[ 0 ], size );
@@ -152,7 +154,7 @@ namespace Dune {
         maxTimes.push_back( maxDofs_ );
         comm_.max( &maxTimes[ 0 ], maxTimes.size() );
 
-        maxDofs_ = maxTimes.back();
+        const double maxDofs = maxTimes.back();
         maxTimes.pop_back();
 
         if( comm_.rank() == 0 && timesteps_ > 0 ) 
@@ -185,7 +187,7 @@ namespace Dune {
             const char* commType = nonBlocking ? "asynchron" : "standard";
             file << "# Comm: " << commType << std::endl;
             file << "# Timesteps = " << timesteps_ << std::endl ;
-            file << "# Max DoFs (per element): " << maxDofs_ << std::endl;
+            file << "# Max DoFs (per element): " << maxDofs << std::endl;
             file << "# Elements / timestep: sum    max    min    average  " << std::endl;
             file << sumTimes[ size-1 ] << "  " << maxTimes[ size-1 ] << "  " << minTimes[ size-1 ] << "  " << ((size_t)averageElements) << std::endl;
             file << "# DG       ODE     ADAPT    LB      TIMESTEP    " << std::endl ;