diff --git a/analyzer/service_data.hpp b/analyzer/service_data.hpp
index 9f93bb9..66e0200 100644
--- a/analyzer/service_data.hpp
+++ b/analyzer/service_data.hpp
@@ -207,9 +207,11 @@
     /**
      * @brief Constructor from components.
      * @param The signature of the root cause attention.
+     * @param True if the signature list contained a system checkstop attention.
+     *        False, otherwise.
      */
-    explicit ServiceData(const libhei::Signature& i_rootCause) :
-        iv_rootCause(i_rootCause)
+    ServiceData(const libhei::Signature& i_rootCause, bool i_isCheckstop) :
+        iv_rootCause(i_rootCause), iv_isCheckstop(i_isCheckstop)
     {}
 
     /** @brief Destructor. */
@@ -225,6 +227,10 @@
     /** The signature of the root cause attention. */
     const libhei::Signature iv_rootCause;
 
+    /** True if the signature list contained a system checkstop attention.
+     *  False, otherwise. */
+    const bool iv_isCheckstop;
+
     /** The list of callouts that will be added to a PEL. */
     std::vector<std::shared_ptr<Callout>> iv_calloutList;
 
@@ -240,6 +246,13 @@
         return iv_rootCause;
     }
 
+    /** @return True if the signature list contained a system checkstop
+     *          attention. False, otherwise. */
+    bool queryCheckstop() const
+    {
+        return iv_isCheckstop;
+    }
+
     /** Add a callout to the list. */
     void addCallout(const std::shared_ptr<Callout>& i_callout)
     {
