diff --git a/src/Vulkan/VkCommandBuffer.cpp b/src/Vulkan/VkCommandBuffer.cpp
index 0cd512d..62c6ccf 100644
--- a/src/Vulkan/VkCommandBuffer.cpp
+++ b/src/Vulkan/VkCommandBuffer.cpp
@@ -175,24 +175,32 @@
 
 void CommandBuffer::destroy(const VkAllocationCallbacks* pAllocator)
 {
-	deleteCommands();
+	delete commands;
 }
 
-void CommandBuffer::deleteCommands()
+void CommandBuffer::resetState()
 {
 	// FIXME (b/119409619): replace this vector by an allocator so we can control all memory allocations
-	delete commands;
+	commands->clear();
+
+	state = INITIAL;
 }
 
 VkResult CommandBuffer::begin(VkCommandBufferUsageFlags flags, const VkCommandBufferInheritanceInfo* pInheritanceInfo)
 {
 	ASSERT((state != RECORDING) && (state != PENDING));
-
-	if((flags != VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT) || pInheritanceInfo)
-	{
-		UNIMPLEMENTED();
-	}
-
+
+	if(!((flags == 0) || (flags == VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT)) || pInheritanceInfo)
+	{
+		UNIMPLEMENTED();
+	}
+
+	if(state != INITIAL)
+	{
+		// Implicit reset
+		resetState();
+	}
+
 	state = RECORDING;
 
 	return VK_SUCCESS;
@@ -211,9 +219,7 @@
 {
 	ASSERT(state != PENDING);
 
-	deleteCommands();
-
-	state = INITIAL;
+	resetState();
 
 	return VK_SUCCESS;
 }
@@ -223,9 +229,9 @@
 {
 	ASSERT(state == RECORDING);
 
-	if(contents != VK_SUBPASS_CONTENTS_INLINE)
-	{
-		UNIMPLEMENTED();
+	if(contents != VK_SUBPASS_CONTENTS_INLINE)
+	{
+		UNIMPLEMENTED();
 	}
 
 	commands->push_back(std::make_unique<BeginRenderPass>(renderPass, framebuffer, renderArea, clearValueCount, clearValues));
@@ -510,9 +516,9 @@
 
 void CommandBuffer::draw(uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
 {
-	if(instanceCount > 1 || firstVertex != 0 || firstInstance != 0)
-	{
-		UNIMPLEMENTED();
+	if(instanceCount > 1 || firstVertex != 0 || firstInstance != 0)
+	{
+		UNIMPLEMENTED();
 	}
 
 	commands->push_back(std::make_unique<Draw>(vertexCount));
