diff --git a/item_updater.hpp b/item_updater.hpp
index fac41f3..6274abe 100644
--- a/item_updater.hpp
+++ b/item_updater.hpp
@@ -91,7 +91,7 @@
                 bool useUpdateDBusInterface = true) :
         ItemUpdaterInherit(ctx.get_bus(), path.c_str(),
                            ItemUpdaterInherit::action::defer_emit),
-        useUpdateDBusInterface(useUpdateDBusInterface), ctx(ctx),
+        type(type), useUpdateDBusInterface(useUpdateDBusInterface), ctx(ctx),
         bus(ctx.get_bus()), helper(bus)
     {
         if (!useUpdateDBusInterface)
@@ -273,6 +273,9 @@
     /** @brief The slot of running BMC image */
     uint32_t runningImageSlot = 0;
 
+    /** @brief The type of updater. */
+    UpdaterType type;
+
     /** @brief Flag to indicate if the update interface is used or not */
     bool useUpdateDBusInterface;
 
diff --git a/update_manager.cpp b/update_manager.cpp
index ebc451a..6ced2ca 100644
--- a/update_manager.cpp
+++ b/update_manager.cpp
@@ -40,6 +40,17 @@
                                        ActivationIntf::Activations::Invalid);
 }
 
+bool verifyImagePurpose(Version::VersionPurpose purpose,
+                        ItemUpdaterIntf::UpdaterType type)
+{
+    if (purpose == Version::VersionPurpose::Host)
+    {
+        return (type == ItemUpdaterIntf::UpdaterType::BIOS ||
+                type == ItemUpdaterIntf::UpdaterType::ALL);
+    }
+    return true;
+}
+
 // NOLINTNEXTLINE(readability-static-accessed-through-instance)
 auto Manager::processImage(sdbusplus::message::unix_fd image,
                            ApplyTimeIntf::RequestedApplyTimes applyTime,
@@ -147,6 +158,16 @@
     }
     auto purpose = convertedPurpose.value_or(Version::VersionPurpose::Unknown);
 
+    if (!verifyImagePurpose(purpose, itemUpdater.type))
+    {
+        error("Purpose ({PURPOSE}) is not supported", "PURPOSE", purpose);
+        processImageFailed(image, id);
+        report<SoftwareErrors::ImageFailure>(
+            ImageFail::FAIL("Purpose is not supported"),
+            ImageFail::PATH(manifestPath.string().c_str()));
+        co_return;
+    }
+
     // Get ExtendedVersion
     std::string extendedVersion =
         Version::getValue(manifestPath.string(), "ExtendedVersion");
