diff --git a/attn/attn_config.cpp b/attn/attn_config.cpp
index eae96f9..98ec388 100644
--- a/attn/attn_config.cpp
+++ b/attn/attn_config.cpp
@@ -29,6 +29,7 @@
     iv_flags.set(enCheckstop);
     iv_flags.set(enTerminate);
     iv_flags.set(enBreakpoints);
+    iv_flags.set(enClrAttnIntr);
 }
 
 /** @brief Clear configuration flag */
@@ -44,6 +45,7 @@
     iv_flags.reset(enCheckstop);
     iv_flags.reset(enTerminate);
     iv_flags.reset(enBreakpoints);
+    iv_flags.reset(enClrAttnIntr);
 }
 
 } // namespace attn
diff --git a/attn/attn_config.hpp b/attn/attn_config.hpp
index 7aad393..98a6606 100644
--- a/attn/attn_config.hpp
+++ b/attn/attn_config.hpp
@@ -12,6 +12,7 @@
     enTerminate   = 2,
     enBreakpoints = 3,
     dfltTi        = 4,
+    enClrAttnIntr = 5,
     lastFlag
 };
 
@@ -40,10 +41,6 @@
     /** @brief Clear all configuration flags */
     void clearFlagAll();
 
-    /** @brief Set state of all configuration data */
-    void setConfig(bool i_vital, bool i_checkstop, bool i_terminate,
-                   bool i_breakpoints);
-
   private:
     std::bitset<lastFlag> iv_flags; // configuration flags
 };
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index 59dfab3..3252078 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -78,8 +78,12 @@
  */
 void attnHandler(Config* i_config)
 {
-    // Clear attention interrupts that may still be active (MPIPL)
-    clearAttnInterrupts();
+    // Check if enClrAttnIntr is enabled
+    if (true == i_config->getFlag(enClrAttnIntr))
+    {
+        // Clear attention interrupts that may still be active (MPIPL)
+        clearAttnInterrupts();
+    }
 
     // Vector of active attentions to be handled
     std::vector<Attention> active_attentions;
