diff --git a/item_updater.cpp b/item_updater.cpp
index 6dd7a52..173ee29 100644
--- a/item_updater.cpp
+++ b/item_updater.cpp
@@ -324,6 +324,7 @@
     }
     else
     {
+        removeAssociations(ita->second->path);
         this->activations.erase(entryId);
     }
     ItemUpdater::resetUbootEnvVars();
@@ -520,14 +521,11 @@
     associations(assocs);
 }
 
-void ItemUpdater::removeActiveAssociation(const std::string& path)
+void ItemUpdater::removeAssociations(const std::string& path)
 {
     for (auto iter = assocs.begin(); iter != assocs.end();)
     {
-        // Since there could be multiple associations to the same path,
-        // only remove ones that have an active forward association.
-        if ((std::get<0>(*iter)).compare(ACTIVE_FWD_ASSOCIATION) == 0 &&
-            (std::get<2>(*iter)).compare(path) == 0)
+        if ((std::get<2>(*iter)).compare(path) == 0)
         {
             iter = assocs.erase(iter);
             associations(assocs);
diff --git a/item_updater.hpp b/item_updater.hpp
index ac966ca..aafd66b 100644
--- a/item_updater.hpp
+++ b/item_updater.hpp
@@ -106,11 +106,11 @@
      */
     void createActiveAssociation(const std::string& path);
 
-    /** @brief Removes an active association to the software image
+    /** @brief Removes the associations from the provided software image path
      *
-     * @param[in]  path - The path to remove the association from.
+     * @param[in]  path - The path to remove the associations from.
      */
-    void removeActiveAssociation(const std::string& path);
+    void removeAssociations(const std::string& path);
 
     /** @brief Determine if the given priority is the lowest
      *
