diff --git a/src/language/node_processor/BuiltinFunctionProcessor.hpp b/src/language/node_processor/BuiltinFunctionProcessor.hpp
index 61150be71154be2d08f4a1376df2df13681793d5..755680f5fee0a2da69e02f0fd04a550e7e971846 100644
--- a/src/language/node_processor/BuiltinFunctionProcessor.hpp
+++ b/src/language/node_processor/BuiltinFunctionProcessor.hpp
@@ -6,6 +6,8 @@
 #include <language/node_processor/INodeProcessor.hpp>
 #include <language/utils/BuiltinFunctionEmbedder.hpp>
 
+#include <utils/SignalManager.hpp>
+
 class BuiltinFunctionExpressionProcessor final : public INodeProcessor
 {
  private:
@@ -59,11 +61,16 @@ class BuiltinFunctionProcessor : public INodeProcessor
         m_argument_converters[i]->convert(context_exec_policy, std::move(argument_values[i]));
       }
     }
-    try {
+
+    if (SignalManager::pauseOnError()) {
       return m_function_expression_processor->execute(context_exec_policy);
-    }
-    catch (std::runtime_error& e) {
-      throw parse_error(e.what(), {m_argument_node.begin()});
+    } else {
+      try {
+        return m_function_expression_processor->execute(context_exec_policy);
+      }
+      catch (std::runtime_error& e) {
+        throw parse_error(e.what(), {m_argument_node.begin()});
+      }
     }
   }