diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index 878a602..f9e1a92 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -31,6 +31,7 @@
 import state as st
 import var_stack as vs
 import gen_plug_in_utils as gpu
+import pel_utils as pel
 
 base_path = os.path.dirname(os.path.dirname(
                             imp.find_module("gen_robot_print")[1])) +\
@@ -965,6 +966,11 @@
             gpu.save_plug_in_value(soft_errors, pgm_name)
 
     if delete_errlogs:
+        # print error logs before delete
+        status, error_logs = grk.run_key_u("Get Error Logs")
+        pels = pel.peltool("-l", ignore_err=1)
+        gp.qprint_vars(error_logs, pels)
+
         # We need to purge error logs between boots or they build up.
         grk.run_key(delete_errlogs_cmd, ignore=1)
 
@@ -1143,6 +1149,11 @@
         return
 
     if delete_errlogs:
+        # print error logs before delete
+        status, error_logs = grk.run_key_u("Get Error Logs")
+        pels = pel.peltool("-l", ignore_err=1)
+        gp.qprint_vars(error_logs, pels)
+
         # Delete errlogs prior to doing any boot tests.
         grk.run_key(delete_errlogs_cmd, ignore=1)
 
