diff --git a/test/fake_sys_file.hpp b/test/fake_sys_file.hpp
index 1c6a45d..eb8d024 100644
--- a/test/fake_sys_file.hpp
+++ b/test/fake_sys_file.hpp
@@ -23,6 +23,13 @@
 class FakeSysFile : public SysFile
 {
   public:
+    FakeSysFile()
+    {
+    }
+    FakeSysFile(const std::string& s) : data_(s)
+    {
+    }
+
     size_t readToBuf(size_t pos, size_t count, char* buf) const override
     {
         auto result = readAsStr(pos, count);
diff --git a/test/handler_unittest.cpp b/test/handler_unittest.cpp
index ef42ea6..31ccdc6 100644
--- a/test/handler_unittest.cpp
+++ b/test/handler_unittest.cpp
@@ -1,10 +1,18 @@
 #include "handler_unittest.hpp"
 
+#include "fake_sys_file.hpp"
+
+#include <google/protobuf/message_lite.h>
+#include <google/protobuf/text_format.h>
+
 #include <algorithm>
+#include <boost/endian/arithmetic.hpp>
 #include <memory>
 #include <string>
 #include <vector>
 
+#include "binaryblob.pb.h"
+
 using ::testing::_;
 using ::testing::AtLeast;
 using ::testing::ElementsAreArray;
@@ -140,4 +148,34 @@
     EXPECT_TRUE(handler.deleteBlob(basicTestBlobId));
 }
 
+TEST_F(BinaryStoreBlobHandlerBasicTest, StaleDataIsClearedDuringCreation)
+{
+    using namespace google::protobuf;
+
+    auto basicTestStaleBlobStr =
+        R"(blob_base_id: "/stale/"
+          blobs {
+            blob_id: "/stale/blob"
+          })";
+
+    // Create sysfile containing a valid but stale blob
+    const std::string staleBaseId = "/stale/"s;
+    const std::string staleBlobId = "/stale/blob"s;
+    binaryblobproto::BinaryBlobBase staleBlob;
+    EXPECT_TRUE(TextFormat::ParseFromString(basicTestStaleBlobStr, &staleBlob));
+
+    // Serialize to string stored in the fakeSysFile
+    auto staleBlobData = staleBlob.SerializeAsString();
+    boost::endian::little_uint64_t sizeLE = staleBlobData.size();
+    std::string commitData(sizeLE.data(), sizeof(sizeLE));
+    commitData += staleBlobData;
+
+    std::vector<std::string> expectedIdList = {basicTestBaseId};
+
+    handler.addNewBinaryStore(BinaryStore::createFromConfig(
+        basicTestBaseId, std::make_unique<FakeSysFile>(commitData), 0));
+    EXPECT_FALSE(handler.canHandleBlob(staleBlobId));
+    EXPECT_EQ(handler.getBlobIds(), expectedIdList);
+}
+
 } // namespace blobs
