diff --git a/include/ipmid/handler.hpp b/include/ipmid/handler.hpp
index 20a897f..62fcbe9 100644
--- a/include/ipmid/handler.hpp
+++ b/include/ipmid/handler.hpp
@@ -260,16 +260,9 @@
                 inputArgs = std::move(unpackArgs);
             }
 
-// g++ sometimes complains that *inputArgs might be uninitialized
-// This is never the case. If the unpacker fails to fill every
-// item in unpackArgs, this function returns early. So this is
-// just to silence the build.
-#pragma GCC diagnostic push // save current diagnostics state
-#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
             // execute the registered callback function and get the
             // ipmi::RspType<>
             result = std::apply(handler_, *inputArgs);
-#pragma GCC diagnostic pop // restore previous diagnostics state
         }
         catch (const HandlerException& e)
         {
diff --git a/include/ipmid/message/unpack.hpp b/include/ipmid/message/unpack.hpp
index afa17e3..5eb8054 100644
--- a/include/ipmid/message/unpack.hpp
+++ b/include/ipmid/message/unpack.hpp
@@ -232,8 +232,8 @@
         // more stuff to unroll if partial bytes are out
         size_t priorBitCount = p.bitCount;
         fixed_uint_t<details::bitStreamSize> priorBits = p.bitStream;
-        t.emplace();
-        int ret = UnpackSingle<T>::op(p, *t);
+        T value;
+        int ret = UnpackSingle<T>::op(p, value);
         if (ret != 0)
         {
             t.reset();
@@ -242,6 +242,10 @@
             p.bitCount = priorBitCount;
             p.unpackError = priorError;
         }
+        else
+        {
+            t.emplace(std::move(value));
+        }
         return 0;
     }
 };
