diff --git a/src/Vulkan/VkPipeline.cpp b/src/Vulkan/VkPipeline.cpp
index f014a95..15c3549 100644
--- a/src/Vulkan/VkPipeline.cpp
+++ b/src/Vulkan/VkPipeline.cpp
@@ -513,7 +513,7 @@
 			module = vk::Cast(tempModule);
 		}
 
-		const PipelineCache::SpirvBinaryKey key(module->getBinary(), stageInfo.pSpecializationInfo, optimize);
+		const PipelineCache::SpirvBinaryKey key(module->getBinary(), stageInfo.pSpecializationInfo, robustBufferAccess, optimize);
 
 		if((pCreateInfo->flags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT) &&
 		   (!pPipelineCache || !pPipelineCache->contains(key)))
@@ -590,7 +590,7 @@
 
 	const bool optimize = true;  // TODO(b/251802301): Don't optimize when debugging shaders.
 
-	const PipelineCache::SpirvBinaryKey shaderKey(module->getBinary(), stage.pSpecializationInfo, optimize);
+	const PipelineCache::SpirvBinaryKey shaderKey(module->getBinary(), stage.pSpecializationInfo, robustBufferAccess, optimize);
 
 	if((pCreateInfo->flags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT) &&
 	   (!pPipelineCache || !pPipelineCache->contains(shaderKey)))
diff --git a/src/Vulkan/VkPipelineCache.cpp b/src/Vulkan/VkPipelineCache.cpp
index c187632..1146db2 100644
--- a/src/Vulkan/VkPipelineCache.cpp
+++ b/src/Vulkan/VkPipelineCache.cpp
@@ -20,9 +20,11 @@
 
 PipelineCache::SpirvBinaryKey::SpirvBinaryKey(const sw::SpirvBinary &spirv,
                                               const VkSpecializationInfo *specializationInfo,
+                                              bool robustBufferAccess,
                                               bool optimize)
     : spirv(spirv)
     , specializationInfo(specializationInfo)
+    , robustBufferAccess(robustBufferAccess)
     , optimize(optimize)
 {
 }
@@ -40,6 +42,11 @@
 		return cmp < 0;
 	}
 
+	if(robustBufferAccess != other.robustBufferAccess)
+	{
+		return !robustBufferAccess && other.robustBufferAccess;
+	}
+
 	if(optimize != other.optimize)
 	{
 		return !optimize && other.optimize;
diff --git a/src/Vulkan/VkPipelineCache.hpp b/src/Vulkan/VkPipelineCache.hpp
index 47ea0d6..13d944d 100644
--- a/src/Vulkan/VkPipelineCache.hpp
+++ b/src/Vulkan/VkPipelineCache.hpp
@@ -59,6 +59,7 @@
 	{
 		SpirvBinaryKey(const sw::SpirvBinary &spirv,
 		               const VkSpecializationInfo *specializationInfo,
+		               bool robustBufferAccess,
 		               bool optimize);
 
 		bool operator<(const SpirvBinaryKey &other) const;
@@ -70,6 +71,7 @@
 	private:
 		const sw::SpirvBinary spirv;
 		const vk::SpecializationInfo specializationInfo;
+		const bool robustBufferAccess;
 		const bool optimize;
 	};
 
