diff --git a/extensions/phal/phal_error.cpp b/extensions/phal/phal_error.cpp
index 009b9c0..6178ba2 100644
--- a/extensions/phal/phal_error.cpp
+++ b/extensions/phal/phal_error.cpp
@@ -443,6 +443,9 @@
             // Handle non functional boot processor error.
             processNonFunctionalBootProc();
             break;
+        case IPL_ERR_GUARD_PARTITION_ACCESS:
+            processGuardPartitionAccessError();
+            break;
         default:
             createPEL("org.open_power.PHAL.Error.Boot");
             // reset trace log and exit
@@ -946,6 +949,21 @@
     }
 }
 
+void processGuardPartitionAccessError()
+{
+    // Adding collected phal logs into PEL additional data
+    FFDCData pelAdditionalData;
+
+    for_each(
+        traceLog.begin(), traceLog.end(),
+        [&pelAdditionalData](std::pair<std::string, std::string>& ele) -> void {
+            pelAdditionalData.emplace_back(ele.first, ele.second);
+        });
+
+    openpower::pel::createPEL("org.open_power.PHAL.Error.GuardPartitionAccess",
+                              pelAdditionalData);
+}
+
 void reset()
 {
     // reset the trace log and counter
diff --git a/extensions/phal/phal_error.hpp b/extensions/phal/phal_error.hpp
index 734d6f2..c05ed06 100644
--- a/extensions/phal/phal_error.hpp
+++ b/extensions/phal/phal_error.hpp
@@ -57,6 +57,14 @@
 void processSbeBootError();
 
 /**
+ * @brief Process Guard Partition Access Error
+ *
+ * This function is used process access error related to guard partition during
+ * boot. It collects the traces and create a PEL
+ */
+void processGuardPartitionAccessError();
+
+/**
  * @brief Reset trace log list
  */
 void reset();
