diff --git a/item_updater.cpp b/item_updater.cpp
index e9a283d..7692293 100644
--- a/item_updater.cpp
+++ b/item_updater.cpp
@@ -164,12 +164,16 @@
         if (0 == iter.path().native().compare(0, PNOR_RO_PREFIX_LEN,
                                               PNOR_RO_PREFIX))
         {
+            // The versionId is extracted from the path
+            // for example /media/pnor-ro-2a1022fe.
+            auto id = iter.path().native().substr(PNOR_RO_PREFIX_LEN);
             auto pnorTOC = iter.path() / PNOR_TOC_FILE;
             if (!fs::is_regular_file(pnorTOC))
             {
-                log<level::ERR>("Failed to read pnorTOC\n",
+                log<level::ERR>("Failed to read pnorTOC.\n",
                                 entry("FileName=%s", pnorTOC.string()));
-                activationState = server::Activation::Activations::Invalid;
+                ItemUpdater::erase(id);
+                continue;
             }
             auto keyValues =
                     Version::getValue(pnorTOC,
@@ -191,9 +195,6 @@
                 activationState = server::Activation::Activations::Invalid;
             }
 
-            // The versionId is extracted from the path
-            // for example /media/pnor-ro-2a1022fe
-            auto id = iter.path().native().substr(PNOR_RO_PREFIX_LEN);
             auto purpose = server::Version::VersionPurpose::Host;
             auto path = fs::path(SOFTWARE_OBJPATH) / id;
             AssociationList associations = {};
