diff --git a/projects/voxelization/src/BloomAndFlares.cpp b/projects/voxelization/src/BloomAndFlares.cpp
index aa077ef5f4a089bfe226328a183789e1d6bb3890..e4eb94007685eace1e24e7c5b8f59f75f5ef2238 100644
--- a/projects/voxelization/src/BloomAndFlares.cpp
+++ b/projects/voxelization/src/BloomAndFlares.cpp
@@ -114,7 +114,7 @@ void BloomAndFlares::execDownsamplePipe(const vkcv::CommandStreamHandle &cmdStre
     // downsample dispatches of blur buffer's mip maps
     float mipDispatchCountX = dispatchCountX;
     float mipDispatchCountY = dispatchCountY;
-    for(uint32_t mipLevel = 1; mipLevel < m_DownsampleDescSets.size(); mipLevel++)
+    for(uint32_t mipLevel = 1; mipLevel < std::min((uint32_t)m_DownsampleDescSets.size(), m_Blur.getMipCount()); mipLevel++)
     {
         // mip descriptor writes
         vkcv::DescriptorWrites mipDescriptorWrites;