diff --git a/test/Makefile.am b/test/Makefile.am
index 8f86df7..282a824 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -13,6 +13,7 @@
 	ipmi_starttransfer_unittest \
 	ipmi_flashdata_unittest \
 	ipmi_flashfinish_unittest \
+	ipmi_starthash_unittest \
 	ipmi_validate_unittest
 
 TESTS = $(check_PROGRAMS)
@@ -26,5 +27,8 @@
 ipmi_flashfinish_unittest_SOURCES = ipmi_flashfinish_unittest.cpp
 ipmi_flashfinish_unittest_LDADD = $(top_builddir)/ipmi.o
 
+ipmi_starthash_unittest_SOURCES = ipmi_starthash_unittest.cpp
+ipmi_starthash_unittest_LDADD = $(top_builddir)/ipmi.o
+
 ipmi_validate_unittest_SOURCES = ipmi_validate_unittest.cpp
 ipmi_validate_unittest_LDADD = $(top_builddir)/ipmi.o
diff --git a/test/ipmi_starthash_unittest.cpp b/test/ipmi_starthash_unittest.cpp
new file mode 100644
index 0000000..c8db942
--- /dev/null
+++ b/test/ipmi_starthash_unittest.cpp
@@ -0,0 +1,40 @@
+#include "flash-ipmi.hpp"
+#include "ipmi.hpp"
+
+#include "updater_mock.hpp"
+
+#include <cstring>
+#include <gtest/gtest.h>
+
+using ::testing::Return;
+using ::testing::StrictMock;
+
+// ipmid.hpp isn't installed where we can grab it and this value is per BMC
+// SoC.
+#define MAX_IPMI_BUFFER 64
+#define HASH_SIZE 512
+
+TEST(IpmiStartHashTest, ValidBoringCaseReturnsSuccess)
+{
+    // This is also mostly a pass-thru command such that the real validation is
+    // done elsewhere.
+
+    StrictMock<UpdaterMock> updater;
+
+    size_t dataLen;
+    uint8_t request[MAX_IPMI_BUFFER] = {0};
+    uint8_t reply[MAX_IPMI_BUFFER] = {0};
+
+    struct StartTx tx;
+    tx.cmd = FlashSubCmds::flashStartHash;
+    tx.length = HASH_SIZE;
+    std::memcpy(request, &tx, sizeof(tx));
+
+    dataLen = sizeof(tx);
+
+    EXPECT_CALL(updater, startHash(HASH_SIZE)).WillOnce(Return(true));
+
+    EXPECT_EQ(IPMI_CC_OK, startHash(&updater, request, reply, &dataLen));
+    EXPECT_EQ(sizeof(uint8_t), dataLen);
+    EXPECT_EQ(0, reply[0]);
+}
diff --git a/test/ipmi_validate_unittest.cpp b/test/ipmi_validate_unittest.cpp
index ee600a0..be4b128 100644
--- a/test/ipmi_validate_unittest.cpp
+++ b/test/ipmi_validate_unittest.cpp
@@ -37,3 +37,12 @@
     size_t dataLen = sizeof(struct ChunkHdr);
     EXPECT_FALSE(validateRequestLength(cmd, dataLen));
 }
+
+TEST(IpmiValidateTest, StartHashInvalidReturnsFalse)
+{
+    // Verify the request is sanity checked w.r.t length.
+
+    auto cmd = FlashSubCmds::flashStartHash;
+    size_t dataLen = sizeof(struct StartTx) - 1;
+    EXPECT_FALSE(validateRequestLength(cmd, dataLen));
+}
diff --git a/test/updater_mock.hpp b/test/updater_mock.hpp
index 732df31..561deaa 100644
--- a/test/updater_mock.hpp
+++ b/test/updater_mock.hpp
@@ -13,4 +13,5 @@
     MOCK_METHOD1(start, bool(uint32_t));
     MOCK_METHOD2(flashData, bool(uint32_t, const std::vector<uint8_t>&));
     MOCK_METHOD0(flashFinish, bool());
+    MOCK_METHOD1(startHash, bool(uint32_t));
 };
