diff --git a/bmc/firmware_handler.cpp b/bmc/firmware_handler.cpp
index 5f16846..855c3fa 100644
--- a/bmc/firmware_handler.cpp
+++ b/bmc/firmware_handler.cpp
@@ -642,8 +642,13 @@
             /* They are closing a data pathway (image, tarball, hash). */
             changeState(UpdateState::verificationPending);
 
-            /* Add verify blob ID now that we can expect it. */
-            addBlobId(verifyBlobId);
+            /* Add verify blob ID now that we can expect it, IIF they also wrote
+             * some data.
+             */
+            if (std::count(blobIDs.begin(), blobIDs.end(), activeImageBlobId))
+            {
+                addBlobId(verifyBlobId);
+            }
             break;
         case UpdateState::verificationPending:
             /* They haven't triggered, therefore closing is uninteresting.
diff --git a/bmc/test/firmware_state_uploadinprogress_unittest.cpp b/bmc/test/firmware_state_uploadinprogress_unittest.cpp
index be3269e..63169db 100644
--- a/bmc/test/firmware_state_uploadinprogress_unittest.cpp
+++ b/bmc/test/firmware_state_uploadinprogress_unittest.cpp
@@ -193,7 +193,7 @@
     handler->close(session);
     expectedState(FirmwareBlobHandler::UpdateState::verificationPending);
 
-    EXPECT_TRUE(handler->canHandleBlob(verifyBlobId));
+    EXPECT_FALSE(handler->canHandleBlob(verifyBlobId));
 }
 
 /*
diff --git a/bmc/test/firmware_state_verificationpending_unittest.cpp b/bmc/test/firmware_state_verificationpending_unittest.cpp
index fbcd73d..64d82ca 100644
--- a/bmc/test/firmware_state_verificationpending_unittest.cpp
+++ b/bmc/test/firmware_state_verificationpending_unittest.cpp
@@ -153,13 +153,23 @@
 TEST_F(FirmwareHandlerVerificationPendingTest,
        StatOnVerificationBlobReturnsFailure)
 {
-    getToVerificationPending(hashBlobId);
+    getToVerificationPending(staticLayoutBlobId);
     ASSERT_TRUE(handler->canHandleBlob(verifyBlobId));
 
     blobs::BlobMeta meta;
     EXPECT_FALSE(handler->stat(verifyBlobId, &meta));
 }
 
+TEST_F(FirmwareHandlerVerificationPendingTest,
+       VerificationBlobNotFoundWithoutStaticDataAsWell)
+{
+    /* If you only ever open the hash blob id, and never the firmware blob id,
+     * the verify blob isn't added.
+     */
+    getToVerificationPending(hashBlobId);
+    EXPECT_FALSE(handler->canHandleBlob(verifyBlobId));
+}
+
 TEST_F(FirmwareHandlerVerificationPendingTest, StatOnNormalBlobsReturnsSuccess)
 {
     getToVerificationPending(staticLayoutBlobId);
