diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c
index 5605ab007381ac54bddb9210a8e1167b96c351b9..a056ca3f367c371021b6828dc06702056befd63b 100644
--- a/libs/vkd3d/command.c
+++ b/libs/vkd3d/command.c
@@ -4222,6 +4222,7 @@ static void STDMETHODCALLTYPE d3d12_command_queue_ExecuteCommandLists(ID3D12Comm
     if (!(vk_queue = vkd3d_queue_acquire(command_queue->vkd3d_queue)))
     {
         ERR("Failed to acquire queue %p.\n", command_queue->vkd3d_queue);
+        vkd3d_free(buffers);
         return;
     }