diff --git a/src/tg/builder/GraphicsCommandsBuilder.hh b/src/tg/builder/GraphicsCommandsBuilder.hh
index 4a4df941603bcb0d41cb7bc1e997e1879b7b9db9..53e709a1142ff3136ee4a2c3e3fd5793ebaf06a1 100644
--- a/src/tg/builder/GraphicsCommandsBuilder.hh
+++ b/src/tg/builder/GraphicsCommandsBuilder.hh
@@ -35,12 +35,12 @@ public:
             _cmd.draw(vertexBuffer->elementCount(), 1, 0, 0);
         }
 
-        template <class PushConstants = ConstantT, class = std::enable_if_t<!std::is_same_v<ConstantT, void>>>
+        template <class PushConstants = ConstantT, class = std::enable_if_t<!std::is_same_v<PushConstants, void>>>
         void draw(PushConstants const& constants, SharedBuffer<VertexT> const& vertexBuffer)
         {
             draw(constants, vertexBuffer->view());
         }
-        template <class PushConstants = ConstantT, class = std::enable_if_t<!std::is_same_v<ConstantT, void>>>
+        template <class PushConstants = ConstantT, class = std::enable_if_t<!std::is_same_v<PushConstants, void>>>
         void draw(PushConstants const& constants, SharedBufferView<VertexT> const& vertexBuffer)
         {
             // TODO: push constants
@@ -85,4 +85,4 @@ private:
     Device* _autoSubmitToDevice;
     untyped::command_writer<CommandAllocator> _cmd;
 };
-} // namespace tg
\ No newline at end of file
+} // namespace tg
diff --git a/src/tg/untyped/commands.hh b/src/tg/untyped/commands.hh
index c250c58475dbf6bb0df064096db0ce17ee110c38..961f2c601d382e840fcabefef543ef327fede36a 100644
--- a/src/tg/untyped/commands.hh
+++ b/src/tg/untyped/commands.hh
@@ -1,5 +1,6 @@
 #pragma once
 
+#include <cstring>
 #include <memory>
 #include <vector>