diff --git a/src/vkcv/ImageManager.cpp b/src/vkcv/ImageManager.cpp
index 3f467a4e7a7c5c58069e42f081dcc88ef7afd1f4..dd54da39cfe1d832e006e4f673e6aa8e1eb7ee18 100644
--- a/src/vkcv/ImageManager.cpp
+++ b/src/vkcv/ImageManager.cpp
@@ -468,7 +468,7 @@ namespace vkcv {
 			uint32_t srcDepth   = image.m_depth;
 
 			auto half = [](uint32_t in) {
-				return std::max(in / 2, (uint32_t)1);
+				return std::max<uint32_t>(in / 2, 1);
 			};
 
 			uint32_t dstWidth   = half(image.m_width);
@@ -498,6 +498,8 @@ namespace vkcv {
 				dstWidth    = half(dstWidth);
 				dstHeight   = half(dstHeight);
 				dstDepth    = half(dstDepth);
+				
+				recordImageMemoryBarrier(handle, cmdBuffer);
 			}
 		};