diff --git a/item_updater.hpp b/item_updater.hpp
index 7a67d69..0e4c45c 100644
--- a/item_updater.hpp
+++ b/item_updater.hpp
@@ -103,15 +103,6 @@
      */
     virtual void freePriority(uint8_t value, const std::string& versionId) = 0;
 
-    /** @brief Determine is the given priority is the lowest
-     *
-     *  @param[in] value - The priority that needs to be checked.
-     *
-     *  @return boolean corresponding to whether the given
-     *           priority is lowest.
-     */
-    virtual bool isLowestPriority(uint8_t value) = 0;
-
     /**
      * @brief Create and populate the active PNOR Version.
      */
diff --git a/ubi/item_updater_ubi.cpp b/ubi/item_updater_ubi.cpp
index 354610b..7a64244 100644
--- a/ubi/item_updater_ubi.cpp
+++ b/ubi/item_updater_ubi.cpp
@@ -391,21 +391,6 @@
     }
 }
 
-bool ItemUpdaterUbi::isLowestPriority(uint8_t value)
-{
-    for (const auto& intf : activations)
-    {
-        if (intf.second->redundancyPriority)
-        {
-            if (intf.second->redundancyPriority.get()->priority() < value)
-            {
-                return false;
-            }
-        }
-    }
-    return true;
-}
-
 bool ItemUpdaterUbi::erase(std::string entryId)
 {
     if (!ItemUpdater::erase(entryId))
diff --git a/ubi/item_updater_ubi.hpp b/ubi/item_updater_ubi.hpp
index dfc8e53..ec9d05c 100644
--- a/ubi/item_updater_ubi.hpp
+++ b/ubi/item_updater_ubi.hpp
@@ -29,8 +29,6 @@
 
     void freePriority(uint8_t value, const std::string& versionId) override;
 
-    bool isLowestPriority(uint8_t value) override;
-
     void processPNORImage() override;
 
     bool erase(std::string entryId) override;
