diff --git a/firmware_handler.cpp b/firmware_handler.cpp
index 0e26ab2..4c076de 100644
--- a/firmware_handler.cpp
+++ b/firmware_handler.cpp
@@ -1,5 +1,6 @@
 #include "firmware_handler.hpp"
 
+#include <algorithm>
 #include <cstdint>
 #include <memory>
 #include <string>
@@ -18,6 +19,11 @@
 bool FirmwareBlobHandler::canHandleBlob(const std::string& path)
 {
     /* Check if the path is in our supported list (or active list). */
+    if (std::count(firmwares.begin(), firmwares.end(), path))
+    {
+        return true;
+    }
+
     return false;
 }
 
@@ -25,17 +31,13 @@
 {
     /*
      * Grab the list of supported firmware.
-     * If there's an open session, add that to this list.
+     *
+     * If there's an open firmware session, it'll already be present in the
+     * list as "/flash/active/image", and if the hash has started,
+     * "/flash/active/hash" regardless of mechanism.  This is done in the open
+     * comamnd, no extra work is required here.
      */
-    std::vector<std::string> blobs = baseFirmwares;
-
-    /*
-     * If there's an open firmware session, it'll add "/flash/active/image",
-     * and if the hash has started, "/flash/active/hash" regardless of
-     * mechanism.
-     */
-
-    return blobs;
+    return firmwares;
 }
 
 bool FirmwareBlobHandler::deleteBlob(const std::string& path)
diff --git a/firmware_handler.hpp b/firmware_handler.hpp
index f9a8983..05bd84d 100644
--- a/firmware_handler.hpp
+++ b/firmware_handler.hpp
@@ -22,13 +22,25 @@
 class FirmwareBlobHandler : public GenericBlobInterface
 {
   public:
+    /**
+     * Create a FirmwareBlobHandler.
+     *
+     * @param[in] firmwares - list of blobs_ids to support.
+     * @param[in] transports - bitmask of transports to support.
+     */
     static std::unique_ptr<GenericBlobInterface>
         CreateFirmwareBlobHandler(const std::vector<std::string>& firmwares,
                                   std::uint32_t transports);
 
+    /**
+     * Create a FirmwareBlobHandler.
+     *
+     * @param[in] firmwares - list of blobs_ids to support.
+     * @param[in] transports - bitmask of transports to support.
+     */
     FirmwareBlobHandler(const std::vector<std::string>& firmwares,
                         std::uint32_t transports) :
-        baseFirmwares(firmwares),
+        firmwares(firmwares),
         transports(transports)
     {
     }
@@ -56,7 +68,7 @@
     bool expire(uint16_t session) override;
 
   private:
-    std::vector<std::string> baseFirmwares;
+    std::vector<std::string> firmwares;
     std::uint32_t transports;
 };
 
