diff --git a/src/System/Math.hpp b/src/System/Math.hpp
index 9ba58b0..2e7f344 100644
--- a/src/System/Math.hpp
+++ b/src/System/Math.hpp
@@ -18,6 +18,8 @@
 #include "Types.hpp"
 #include "Half.hpp"
 
+#include "Vulkan/VkDebug.hpp"
+
 #include <cmath>
 #if defined(_MSC_VER)
 	#include <intrin.h>
@@ -177,6 +179,7 @@
 	template<class T>
 	inline T clamp(T x, T a, T b)
 	{
+		ASSERT(a <= b);
 		if(x < a) x = a;
 		if(x > b) x = b;
 
diff --git a/src/Vulkan/VkImageView.cpp b/src/Vulkan/VkImageView.cpp
index 5310acf..6104adb 100644
--- a/src/Vulkan/VkImageView.cpp
+++ b/src/Vulkan/VkImageView.cpp
@@ -26,6 +26,17 @@
 			(m.a == VK_COMPONENT_SWIZZLE_IDENTITY) ? VK_COMPONENT_SWIZZLE_A : m.a,
 		};
 	}
+
+	VkImageSubresourceRange ResolveRemainingLevelsLayers(VkImageSubresourceRange range, const vk::Image *image)
+	{
+		return {
+			range.aspectMask,
+			range.baseMipLevel,
+			(range.levelCount == VK_REMAINING_MIP_LEVELS) ? (image->getMipLevels() - range.baseMipLevel) : range.levelCount,
+			range.baseArrayLayer,
+			(range.layerCount == VK_REMAINING_ARRAY_LAYERS) ? (image->getArrayLayers() - range.baseArrayLayer) : range.layerCount,
+		};
+	}
 }
 
 namespace vk
@@ -33,7 +44,8 @@
 
 ImageView::ImageView(const VkImageViewCreateInfo* pCreateInfo, void* mem) :
 	image(Cast(pCreateInfo->image)), viewType(pCreateInfo->viewType), format(pCreateInfo->format),
-	components(ResolveIdentityMapping(pCreateInfo->components)), subresourceRange(pCreateInfo->subresourceRange)
+	components(ResolveIdentityMapping(pCreateInfo->components)),
+	subresourceRange(ResolveRemainingLevelsLayers(pCreateInfo->subresourceRange, image))
 {
 }
 
