diff --git a/PPI/DebugModules.cti b/PPI/DebugModules.cti
index e9c73092c0c3844b9af4496a047bed6a5eb00851..1c46d1af1630baec3fa677215b19c8d4c82db229 100644
--- a/PPI/DebugModules.cti
+++ b/PPI/DebugModules.cti
@@ -48,7 +48,7 @@ template <class Stream, class Area, class Level>
 prefix_ void senf::ppi::module::debug::LogSink<Stream,Area,Level>::request()
 {
     Packet packet (input());
-    SENF_LOG_BLOCK((Stream)(Area)(Level)({
+    SENF_LOG_BLOCK_TPL((Stream)(Area)(Level)({
         packet.dump(log);
         hexdump(packet.last().data().begin(), packet.last().data().end(),log);
     }));
diff --git a/PPI/DebugModules.test.cc b/PPI/DebugModules.test.cc
index a08801238f3520d34f31c357df9dbbea67976db6..20101981ab48dc9f326dac7b4caea2f9c2613328 100644
--- a/PPI/DebugModules.test.cc
+++ b/PPI/DebugModules.test.cc
@@ -36,7 +36,7 @@ namespace {
     std::stringstream logstream;
 }
 
-#define SENF_LOG_CONF ((senf::log::Debug)(_)(VERBOSE))
+#define SENF_LOG_CONF (( (senf)(log)(Debug), (_), VERBOSE ))
 
 #include "../Packets/Packets.hh"
 #include "DebugModules.hh"
diff --git a/Utils/Logger/Log.hh b/Utils/Logger/Log.hh
index efb51433271f68d88fc937ffa9fcb2d3121e20cf..072e89387f3141f8e65cd3f8bc751c09a9d22ecf 100644
--- a/Utils/Logger/Log.hh
+++ b/Utils/Logger/Log.hh
@@ -51,6 +51,10 @@
     SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS(BOOST_PP_SEQ_POP_BACK(args)),                      \
                      { log << BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args); })
 
+#define SENF_LOG_TPL(args)                                                                        \
+    SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS_TPL(BOOST_PP_SEQ_POP_BACK(args)),                  \
+                     { log << BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args); })
+
 /** \brief Enable block based on logging parameters
 
     This macro is like SENF_LOG, however instead of writing a simple message, this macro allows
@@ -68,6 +72,10 @@
     SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS(BOOST_PP_SEQ_POP_BACK(args)),                      \
                      BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args))
 
+#define SENF_LOG_BLOCK_TPL(args)                                                                  \
+    SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS_TPL(BOOST_PP_SEQ_POP_BACK(args)),                  \
+                     BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args))
+
 #define SENF_LOG_BLOCK_(parameters, block)                                                        \
     do {                                                                                          \
         if (parameters::compile_enabled && parameters::enabled()) {                               \
diff --git a/Utils/Logger/Parameters.ih b/Utils/Logger/Parameters.ih
index 55d2abaa55b20a99b0d98cbee6b4c00c95d65003..882af7cdb182a2f349f3f3c35189e1888468e3a6 100644
--- a/Utils/Logger/Parameters.ih
+++ b/Utils/Logger/Parameters.ih
@@ -126,6 +126,11 @@ namespace detail {
         senf::log::detail::empty,                                                                 \
         (SENFLogDefaultStream)(SENFLogDefaultArea)(SENFLogDefaultLevel)args) >
 
+#define SENF_LOG_MERGE_PARAMETERS_TPL(args)                                                       \
+    senf::log::detail::Parameters< typename SENF_LOG_MERGE_PARAMETERS_I(                          \
+        senf::log::detail::empty,                                                                 \
+        (SENFLogDefaultStream)(SENFLogDefaultArea)(SENFLogDefaultLevel)args) >
+
 ///////////////////////////////ih.e////////////////////////////////////////
 #endif