diff --git a/src/core/timing/StaticPolicy.cpp b/src/core/timing/StaticPolicy.cpp
index 0908dacbfc5d77ea9eeafabb71bf648358ec968f..03ed3b9ff468fe12bf0028e7e862196f0a97d451 100644
--- a/src/core/timing/StaticPolicy.cpp
+++ b/src/core/timing/StaticPolicy.cpp
@@ -25,7 +25,7 @@
 namespace walberla {
 namespace timing {
 
-double StaticPolicy::time_;
+double StaticPolicy::time_ = 0;
 
 } // namespace timing
 } // namespace walberla
diff --git a/tests/core/timing/TimerTest.cpp b/tests/core/timing/TimerTest.cpp
index b9ee91ec15be2caa8e2c3637702a4f058747c7ba..3a08eb409e8cfa73dceb2f970a55a3407f59ac28 100644
--- a/tests/core/timing/TimerTest.cpp
+++ b/tests/core/timing/TimerTest.cpp
@@ -16,63 +16,64 @@
 //! \file TimingPoolTest.cpp
 //! \ingroup core
 //! \author Christian Godenschwager <christian.godenschwager@fau.de>
+//! \author Sebastian Eibl <sebastian.eibl@fau.de>
 //
 //======================================================================================================================
 
 
 #include "core/debug/TestSubsystem.h"
-#include "core/math/Constants.h"
+#include "core/timing/StaticPolicy.h"
 #include "core/timing/Timer.h"
 
-#include <cmath>
-
 namespace walberla {
 
-static double burnTime()
-{
-   double sum = 0.0;
-   for( double d = 0.0; d < math::pi; d += 0.000001 )
-   {
-      sum += std::atan( std::tan( d ) );
-      sum += std::asin( std::sin( d ) );
-      sum += std::acos( std::cos( d ) );
-   }
-
-   return sum;
-}
-
 void mergeTest() 
 {
-   WcTimer t0, t1, t2, t_all;
+   timing::Timer<timing::StaticPolicy> t0, t1, t2, t_all;
 
    t0.start();
    t_all.start();
-   burnTime();
+   timing::StaticPolicy::addTime(1.23);
    t0.end();
    t_all.end();
 
    t1.start();
    t_all.start();
-   burnTime();
+   timing::StaticPolicy::addTime(1.23);
    t1.end();
    t_all.end();
 
    t2.start();
    t_all.start();
-   burnTime();
+   timing::StaticPolicy::addTime(1.23);
    t2.end();
    t_all.end();
 
    t0.merge( t1 );
    t0.merge( t2 );
 
-   WALBERLA_CHECK_LESS( t0.average() - t_all.average(), 1e-4 );
-   WALBERLA_CHECK_LESS( t0.sumOfSquares() - t_all.sumOfSquares(), 3e-2 );
-   WALBERLA_CHECK_LESS( t0.total() - t_all.total(), 3e-4 );
+   WALBERLA_CHECK_FLOAT_EQUAL( t0.average(), t_all.average() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t1.average(), t_all.average() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t2.average(), t_all.average() );
+
+   WALBERLA_CHECK_FLOAT_EQUAL( t0.sumOfSquares(), t_all.sumOfSquares() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t1.sumOfSquares(), t2.sumOfSquares() );
+
+   WALBERLA_CHECK_FLOAT_EQUAL( t1.total(), t2.total() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t0.total(), t_all.total() );
    WALBERLA_CHECK_EQUAL( t0.getCounter(), t_all.getCounter() );
-   WALBERLA_CHECK_LESS( t0.max() - t_all.max(), 1e-4 );
-   WALBERLA_CHECK_LESS( t0.min() - t_all.min(), 1e-4 );
-   WALBERLA_CHECK_LESS( t0.variance() - t_all.variance(), 1e-4 );
+   WALBERLA_CHECK_EQUAL( t1.getCounter(), t2.getCounter() );
+
+   WALBERLA_CHECK_FLOAT_EQUAL( t0.max(), t_all.max() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t0.min(), t_all.min() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t1.max(), t_all.max() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t1.min(), t_all.min() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t2.max(), t_all.max() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t2.min(), t_all.min() );
+
+   WALBERLA_CHECK_FLOAT_EQUAL( t0.variance(), t_all.variance() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t1.variance(), t_all.variance() );
+   WALBERLA_CHECK_FLOAT_EQUAL( t2.variance(), t_all.variance() );
 }
 
 }