diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp
index 7321f780d5c12cf253f6441baf42e487c8c46d01..c26f07757ed85c787d52bf355a80fa345f4e30fa 100644
--- a/src/vkcv/Core.cpp
+++ b/src/vkcv/Core.cpp
@@ -343,7 +343,8 @@ namespace vkcv
 		m_Queues.graphicsQueue.submit(submitInfo);
 
 		vk::Result presentResult;
-		vk::PresentInfoKHR presentInfo(1, &m_SyncResources.renderFinished, 1, &m_swapchain.getSwapchain(), &swapchainImageIndex, &presentResult);
+		const vk::SwapchainKHR swapchain = m_swapchain.getSwapchain();
+		const vk::PresentInfoKHR presentInfo(1, &m_SyncResources.renderFinished, 1, &swapchain, &swapchainImageIndex, &presentResult);
 		m_Queues.presentQueue.presentKHR(presentInfo);
 		if (presentResult != vk::Result::eSuccess) {
 			std::cout << "Error: swapchain present failed" << std::endl;