diff --git a/BaseLib/ConfigTree.cpp b/BaseLib/ConfigTree.cpp
index 1e5d49c0394e4cc03a638beea893455df2aa61fc..b4bd3d87efb830b2c0d9ec068b6812aa81636883 100644
--- a/BaseLib/ConfigTree.cpp
+++ b/BaseLib/ConfigTree.cpp
@@ -70,6 +70,13 @@ ConfigTree(ConfigTree && other)
 
 ConfigTree::~ConfigTree()
 {
+    if (std::uncaught_exception()) {
+        /* If the stack unwinds the check below shall be suppressed in order to
+         * not accumulate false-positive configuration errors.
+         */
+        return;
+    }
+
     try {
         checkAndInvalidate();
     } catch (std::exception& e) {