diff --git a/extensions/openpower-pels/repository.cpp b/extensions/openpower-pels/repository.cpp
index f552a75..c49d92f 100644
--- a/extensions/openpower-pels/repository.cpp
+++ b/extensions/openpower-pels/repository.cpp
@@ -530,21 +530,29 @@
     }
 }
 
-bool Repository::sizeWarning() const
+bool Repository::sizeWarning()
 {
+    std::error_code ec;
+
     if ((_archiveSize > 0) && ((_sizes.total + _archiveSize) >
                                ((_maxRepoSize * warningPercentage) / 100)))
     {
         log<level::INFO>(
             "Repository::sizeWarning function:Deleting the files in archive");
 
-        std::string cmd = "rm " + _archivePath.string() + "/*_*";
-        auto rc = system(cmd.c_str());
-        if (rc)
+        for (const auto& dirEntry : fs::directory_iterator(_archivePath))
         {
-            log<level::ERR>("Repository::sizeWarning function:Could not delete "
-                            "files in archive");
+            fs::remove(dirEntry.path(), ec);
+            if (ec)
+            {
+                log<level::INFO>(
+                    "Repository::sizeWarning function:Could not delete "
+                    "a file in PEL archive",
+                    entry("FILENAME=%s", dirEntry.path().c_str()));
+            }
         }
+
+        _archiveSize = 0;
     }
 
     return (_sizes.total > (_maxRepoSize * warningPercentage / 100)) ||
