diff --git a/activation.cpp b/activation.cpp
index 56b1b67..fd54ccd 100755
--- a/activation.cpp
+++ b/activation.cpp
@@ -212,7 +212,7 @@
 
 uint8_t RedundancyPriority::priority(uint8_t value)
 {
-    parent.parent.freePriority(value);
+    parent.parent.freePriority(value, parent.versionId);
 
     if(parent.parent.isLowestPriority(value))
     {
diff --git a/item_updater.cpp b/item_updater.cpp
index ee4aa0a..d022c96 100755
--- a/item_updater.cpp
+++ b/item_updater.cpp
@@ -297,14 +297,15 @@
     return;
 }
 
-void ItemUpdater::freePriority(uint8_t value)
+void ItemUpdater::freePriority(uint8_t value, const std::string& versionId)
 {
     //TODO openbmc/openbmc#1896 Improve the performance of this function
     for (const auto& intf : activations)
     {
         if(intf.second->redundancyPriority)
         {
-            if (intf.second->redundancyPriority.get()->priority() == value)
+            if (intf.second->redundancyPriority.get()->priority() == value &&
+                intf.second->versionId != versionId)
             {
                 intf.second->redundancyPriority.get()->priority(value+1);
             }
diff --git a/item_updater.hpp b/item_updater.hpp
index 934ec3c..2f3b1ea 100755
--- a/item_updater.hpp
+++ b/item_updater.hpp
@@ -46,10 +46,11 @@
          *  any existing priority with the same value by 1
          *
          *  @param[in] value - The priority that needs to be set free.
-         *
+         *  @param[in] versionId - The Id of the version for which we
+         *                         are trying to free up the priority.
          *  @return None
          */
-        void freePriority(uint8_t value);
+        void freePriority(uint8_t value, const std::string& versionId);
 
         /** @brief Determine is the given priority is the lowest
          *
