diff --git a/projects/first_scene/src/main.cpp b/projects/first_scene/src/main.cpp
index 5c997617f29b3b06164bab8604914c5c863b57bd..93611076869a09d260097728980ef9a31b628aea 100644
--- a/projects/first_scene/src/main.cpp
+++ b/projects/first_scene/src/main.cpp
@@ -203,7 +203,9 @@ int main(int argc, const char** argv) {
 		cameraManager.getCamera().updateView(std::chrono::duration<double>(deltatime).count());
 		const glm::mat4 mvp = cameraManager.getCamera().getProjection() * cameraManager.getCamera().getView();
 
-		vkcv::PushConstantData pushConstantData((void*)&mvp, sizeof(glm::mat4));
+		std::vector<glm::mat4> pushConstantDataVector(drawcalls.size(), mvp);
+
+		vkcv::PushConstantData pushConstantData((void*)pushConstantDataVector.data(), sizeof(glm::mat4));
 
 		const std::vector<vkcv::ImageHandle> renderTargets = { swapchainInput, depthBuffer };
 		auto cmdStream = core.createCommandStream(vkcv::QueueType::Graphics);