diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index facaabb..751d15d 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -181,7 +181,7 @@
             auto policy = service_indicators::getPolicy(*_dataIface);
             policy->activate(*pel);
         }
-        catch (std::exception& e)
+        catch (const std::exception& e)
         {
             // Probably a full or r/o filesystem, not much we can do.
             log<level::ERR>("Unable to add PEL to Repository",
@@ -236,7 +236,7 @@
     {
         data = std::move(eselToRawData(esel));
     }
-    catch (std::exception& e)
+    catch (const std::exception& e)
     {
         // Try to add it below anyway, so it follows the usual bad data path.
         log<level::ERR>("Problems converting ESEL string to a byte vector");
@@ -407,7 +407,7 @@
     {
         fd = _repo.getPELFD(id);
     }
-    catch (std::exception& e)
+    catch (const std::exception& e)
     {
         throw common_error::InternalFailure();
     }
@@ -446,7 +446,7 @@
     {
         data = _repo.getPELData(id);
     }
-    catch (std::exception& e)
+    catch (const std::exception& e)
     {
         throw common_error::InternalFailure();
     }
