diff --git a/src/utils/SignalManager.cpp b/src/utils/SignalManager.cpp
index f2721177285d3ed5c8edb7ca484a685679c94e5d..62505d7b4d171ff3ff9bf207f9e357aada060fda 100644
--- a/src/utils/SignalManager.cpp
+++ b/src/utils/SignalManager.cpp
@@ -54,6 +54,8 @@ SignalManager::pauseForDebug(int signal)
 {
   if (std::string(PUGS_BUILD_TYPE) != "Release") {
     if (s_pause_on_error) {
+      // Each failing process must write
+      std::cerr.clear();
       std::cerr << "\n======================================\n"
                 << rang::style::reset << rang::fg::reset << rang::style::bold << "to attach gdb to this process run\n"
                 << "\tgdb -pid " << rang::fg::red << getpid() << rang::fg::reset << '\n'
@@ -77,7 +79,7 @@ SignalManager::handler(int signal)
     std::signal(SIGABRT, SIG_DFL);
 
     // Each failing process must write
-    std::cerr.setstate(std::ios::goodbit);
+    std::cerr.clear();
 
     std::cerr << BacktraceManager{} << '\n';