diff --git a/tests/core/CMakeLists.txt b/tests/core/CMakeLists.txt
index 80ddaa4eff394f0be9230ac34bd96eb415c1dc5d..f81f11461e80d525317c9d909b4ecad08372fd0e 100644
--- a/tests/core/CMakeLists.txt
+++ b/tests/core/CMakeLists.txt
@@ -142,7 +142,7 @@ waLBerla_execute_test( NAME SetReductionTest27 COMMAND $<TARGET_FILE:SetReductio
 
 
 
-waLBerla_compile_test( FILES mpi/ProbeVsExtraMessage.cpp )
+waLBerla_compile_test( FILES mpi/ProbeVsExtraMessage.cpp DEPENDS postprocessing)
 
 
 ##############
diff --git a/tests/core/mpi/ProbeVsExtraMessage.cpp b/tests/core/mpi/ProbeVsExtraMessage.cpp
index 52dca3b0229f6f4b3ff8ac8ea5393ebdf6f17853..d05f2c8750b6d6e6fe9895912a590d1774b63c51 100644
--- a/tests/core/mpi/ProbeVsExtraMessage.cpp
+++ b/tests/core/mpi/ProbeVsExtraMessage.cpp
@@ -25,6 +25,7 @@
 #include "core/mpi/MPIManager.h"
 #include "core/math/Random.h"
 #include "core/timing/TimingPool.h"
+#include "postprocessing/sqlite/SQLite.h"
 
 #include <iostream>
 #include <sstream>
@@ -166,7 +167,7 @@ int main( int argc, char ** argv )
    using namespace std;
 
    WALBERLA_ROOT_SECTION() {
-      if ( argc != 3 ) {
+      if ( argc != 3 && argc != 4 ) {
          cerr << "Wrong number of arguments " << endl;
          cerr << "Usage ./probeVsExtraMessage <iterations> <messageSize> " << endl;
       }
@@ -185,9 +186,25 @@ int main( int argc, char ** argv )
    twoMessageVersion     ( iterations, messageSize, tp );
    maxMessageSizeVersion ( iterations, messageSize, tp );
 
+
+
    WALBERLA_ROOT_SECTION() {
       cout << tp << endl;
    }
+   if( argc == 4) {
+
+      const auto reducedTimeloopTiming = tp.getReduced();
+      WALBERLA_ROOT_SECTION() {
+         std::string dbFile( argv[3] );
+         std::map<std::string, walberla::int64_t> integerProperties;
+         integerProperties["iterations"] = int64_c(iterations);
+         integerProperties["messageSize"] = int64_c(messageSize);
+         integerProperties["processes"] = int64_c(mpi::MPIManager::instance()->numProcesses());
+         postprocessing::SQLiteDB db( dbFile );
+         auto runid = db.storeRun( integerProperties, std::map<std::string, std::string>(), std::map<string, double>());
+         db.storeTimingPool( runid, *reducedTimeloopTiming, "timings" );
+      }
+   }
 
    return 0;
 }