diff --git a/emper/Debug.hpp b/emper/Debug.hpp
index 2ef222ca9ea588f38ee559056ef4b034d84dadfc..d24a1b2fd0307ff48f5415630d7795c4d3c8f2db 100644
--- a/emper/Debug.hpp
+++ b/emper/Debug.hpp
@@ -18,7 +18,7 @@
 // The lamda should be fairly cheap/free because it will be inlined.
 // The use of a lambda here is the ISO C++ equivalent to GCC statement expressions.
 // NOLINTNEXTLINE(bugprone-macro-parentheses)
-#define LOG_STR_LAMBDA(x, new_line) [&](){std::stringstream sst; sst << x; if constexpr (new_line) { sst << std::endl; }; return sst.str(); }
+#define LOG_STR_LAMBDA(x, new_line) [&]() -> std::string {std::stringstream sst; sst << x; if constexpr (new_line) { sst << std::endl; }; return sst.str(); }
 
 // NOLINTNEXTLINE(bugprone-macro-parentheses)
 #define LOG(level, x, log_func, new_line) do {if constexpr (level > EMPER_LOG_LEVEL) { break; } log_func(LOG_STR_LAMBDA(x, new_line)()); } while (false)