diff --git a/test/blob_interface_mock.hpp b/test/blob_interface_mock.hpp
index c3b4f4c..eff241f 100644
--- a/test/blob_interface_mock.hpp
+++ b/test/blob_interface_mock.hpp
@@ -14,6 +14,7 @@
     MOCK_METHOD2(openBlob,
                  std::uint16_t(const std::string&,
                                blobs::FirmwareBlobHandler::UpdateFlags));
+    MOCK_METHOD1(closeBlob, void(std::uint16_t));
 };
 
 } // namespace host_tool
diff --git a/tools/blob_handler.cpp b/tools/blob_handler.cpp
index 486f133..06d11e5 100644
--- a/tools/blob_handler.cpp
+++ b/tools/blob_handler.cpp
@@ -238,4 +238,23 @@
     return session;
 }
 
+void BlobHandler::closeBlob(std::uint16_t session)
+{
+    std::vector<std::uint8_t> request, resp;
+    auto addrSession = reinterpret_cast<std::uint8_t*>(&session);
+    std::copy(addrSession, addrSession + sizeof(session),
+              std::back_inserter(request));
+
+    try
+    {
+        resp = sendIpmiPayload(BlobOEMCommands::bmcBlobClose, request);
+    }
+    catch (const BlobException& b)
+    {
+        std::fprintf(stderr, "Received failure on close: %s\n", b.what());
+    }
+
+    return;
+}
+
 } // namespace host_tool
diff --git a/tools/blob_handler.hpp b/tools/blob_handler.hpp
index c22d326..6c176e4 100644
--- a/tools/blob_handler.hpp
+++ b/tools/blob_handler.hpp
@@ -68,6 +68,8 @@
         openBlob(const std::string& id,
                  blobs::FirmwareBlobHandler::UpdateFlags handlerFlags) override;
 
+    void closeBlob(std::uint16_t session) override;
+
   private:
     IpmiInterface* ipmi;
 };
diff --git a/tools/blob_interface.hpp b/tools/blob_interface.hpp
index 7e22849..b79121b 100644
--- a/tools/blob_interface.hpp
+++ b/tools/blob_interface.hpp
@@ -47,6 +47,13 @@
     virtual std::uint16_t
         openBlob(const std::string& id,
                  blobs::FirmwareBlobHandler::UpdateFlags handlerFlags) = 0;
+
+    /**
+     * Attempt to close the open session.
+     *
+     * @param[in] session - the session to close.
+     */
+    virtual void closeBlob(std::uint16_t session) = 0;
 };
 
 } // namespace host_tool
diff --git a/tools/updater.cpp b/tools/updater.cpp
index 6fed1d6..27414c1 100644
--- a/tools/updater.cpp
+++ b/tools/updater.cpp
@@ -92,6 +92,8 @@
         throw ToolException("Failed to send contents of " + imagePath);
     }
 
+    blob->closeBlob(session);
+
     /* Send over the hash contents. */
     /* Trigger the verification. */
     /* Check the verification. */
