diff --git a/src/xrt/auxiliary/vk/vk_image_allocator.c b/src/xrt/auxiliary/vk/vk_image_allocator.c
index 17b6c78c6..9fb06b619 100644
--- a/src/xrt/auxiliary/vk/vk_image_allocator.c
+++ b/src/xrt/auxiliary/vk/vk_image_allocator.c
@@ -13,6 +13,7 @@
 
 #include "vk/vk_image_allocator.h"
 
+#include <vulkan/vulkan_core.h>
 #include <xrt/xrt_handles.h>
 
 #ifdef XRT_OS_LINUX
@@ -239,6 +240,12 @@ create_image(struct vk_bundle *vk, const struct xrt_swapchain_create_info *info,
 	    .sharingMode = VK_SHARING_MODE_EXCLUSIVE,
 	    .initialLayout = VK_IMAGE_LAYOUT_UNDEFINED,
 	};
+#if defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_AHARDWAREBUFFER)
+	// VUID-VkImageCreateInfo-pNext-01974
+	if (format_android.externalFormat != 0) {
+		create_info.format = VK_FORMAT_UNDEFINED;
+	}
+#endif
 
 	ret = vk->vkCreateImage(vk->device, &create_info, NULL, &image);
 	if (ret != VK_SUCCESS) {