diff --git a/include/ipmid/message/pack.hpp b/include/ipmid/message/pack.hpp
index 104354d..b458af4 100644
--- a/include/ipmid/message/pack.hpp
+++ b/include/ipmid/message/pack.hpp
@@ -18,6 +18,7 @@
 #include <array>
 #include <ipmid/message/types.hpp>
 #include <memory>
+#include <optional>
 #include <phosphor-logging/log.hpp>
 #include <tuple>
 #include <utility>
@@ -165,6 +166,21 @@
     }
 };
 
+/** @brief Specialization of PackSingle for std::optional<T> */
+template <typename T>
+struct PackSingle<std::optional<T>>
+{
+    static int op(Payload& p, const std::optional<T>& t)
+    {
+        int ret = 0;
+        if (t)
+        {
+            ret = PackSingle<T>::op(p, *t);
+        }
+        return ret;
+    }
+};
+
 /** @brief Specialization of PackSingle for std::array<T, N> */
 template <typename T, size_t N>
 struct PackSingle<std::array<T, N>>
diff --git a/test/message/pack.cpp b/test/message/pack.cpp
index b3957cc..03846c5 100644
--- a/test/message/pack.cpp
+++ b/test/message/pack.cpp
@@ -222,6 +222,32 @@
     ASSERT_EQ(p.raw, k);
 }
 
+TEST(PackBasics, OptionalEmpty)
+{
+    // an optional will only pack if the value is present
+    ipmi::message::Payload p;
+    std::optional<uint32_t> v;
+    p.pack(v);
+    // check that the number of bytes matches
+    ASSERT_EQ(p.size(), 0);
+    // check that the bytes were correctly packed (in byte order)
+    std::vector<uint8_t> k = {};
+    ASSERT_EQ(p.raw, k);
+}
+
+TEST(PackBasics, OptionalContainsValue)
+{
+    // an optional will only pack if the value is present
+    ipmi::message::Payload p;
+    std::optional<uint32_t> v(0x04860002);
+    p.pack(v);
+    // check that the number of bytes matches
+    ASSERT_EQ(p.size(), sizeof(uint32_t));
+    // check that the bytes were correctly packed (in byte order)
+    std::vector<uint8_t> k = {0x02, 0x00, 0x86, 0x04};
+    ASSERT_EQ(p.raw, k);
+}
+
 TEST(PackAdvanced, Uints)
 {
     // all elements will be processed in order, with each multi-byte
