diff --git a/build-android/android-generate.bat b/build-android/android-generate.bat
index 283be55..257dedc 100644
--- a/build-android/android-generate.bat
+++ b/build-android/android-generate.bat
@@ -36,6 +36,7 @@
 copy /Y ..\layers\vk_layer_utils.cpp    generated\common\
 copy /Y ..\layers\vk_layer_table.cpp    generated\common\
 copy /Y ..\layers\descriptor_sets.cpp   generated\common\
+copy /Y ..\layers\buffer_validation.cpp generated\common\
 
 REM create build-script root directory
 mkdir generated\gradle-build
@@ -52,6 +53,7 @@
     echo apply from: "../common.gradle"  > generated\gradle-build\%%G\build.gradle
 )
 copy generated\common\descriptor_sets.cpp generated\layer-src\core_validation\descriptor_sets.cpp
+copy generated\common\buffer_validation.cpp generated\layer-src\core_validation\buffer_validation.cpp
 copy generated\include\vk_safe_struct.cpp generated\layer-src\core_validation\vk_safe_struct.cpp
 move generated\include\vk_safe_struct.cpp generated\layer-src\unique_objects\vk_safe_struct.cpp
 echo apply from: "../common.gradle"  > generated\gradle-build\unique_objects\build.gradle
diff --git a/build-android/android-generate.sh b/build-android/android-generate.sh
index 09022a3..662c4f0 100755
--- a/build-android/android-generate.sh
+++ b/build-android/android-generate.sh
@@ -36,6 +36,7 @@
 cp -f ../layers/vk_layer_utils.cpp    generated/common/
 cp -f ../layers/vk_layer_table.cpp    generated/common/
 cp -f ../layers/descriptor_sets.cpp   generated/common/
+cp -f ../layers/buffer_validation.cpp generated/common/
 
 # layer names and their original source files directory
 # 1 to 1 correspondence -- one layer one source file; additional files are copied
@@ -61,6 +62,7 @@
 
 # fixup - unique_objects need one more file
 cp  generated/common/descriptor_sets.cpp ${SRC_ROOT}/core_validation/descriptor_sets.cpp
+cp  generated/common/buffer_validation.cpp ${SRC_ROOT}/core_validation/buffer_validation.cpp
 cp  generated/include/vk_safe_struct.cpp ${SRC_ROOT}/core_validation/vk_safe_struct.cpp
 mv  generated/include/vk_safe_struct.cpp ${SRC_ROOT}/unique_objects/vk_safe_struct.cpp
 
diff --git a/build-android/jni/Android.mk b/build-android/jni/Android.mk
index 4577d0b..4d32594 100644
--- a/build-android/jni/Android.mk
+++ b/build-android/jni/Android.mk
@@ -33,6 +33,7 @@
 LOCAL_MODULE := VkLayer_core_validation
 LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/core_validation/core_validation.cpp
 LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/core_validation/descriptor_sets.cpp
+LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/core_validation/buffer_validation.cpp
 LOCAL_SRC_FILES += $(LAYER_DIR)/common/vk_layer_table.cpp
 LOCAL_C_INCLUDES += $(SRC_DIR)/include \
                     $(SRC_DIR)/layers \
diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
index b32cf6c..295232e 100644
--- a/layers/CMakeLists.txt
+++ b/layers/CMakeLists.txt
@@ -165,7 +165,7 @@
     install(TARGETS VkLayer_utils DESTINATION ${CMAKE_INSTALL_LIBDIR})
 endif()
 
-add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp descriptor_sets.cpp)
+add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp descriptor_sets.cpp buffer_validation.cpp)
 add_vk_layer(object_tracker object_tracker.cpp vk_layer_table.cpp)
 add_vk_layer(image image.cpp vk_layer_table.cpp)
 add_vk_layer(swapchain swapchain.cpp vk_layer_table.cpp)
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp
index 4bcbf13..0f47b30 100644
--- a/layers/buffer_validation.cpp
+++ b/layers/buffer_validation.cpp
@@ -22,3 +22,16 @@
 #define NOMINMAX
 
 #include "buffer_validation.h"
+
+VK_LAYER_EXPORT void PostCallRecordCreateImage(std::unordered_map<VkImage, std::unique_ptr<IMAGE_STATE>> &imageMap,
+                                               std::unordered_map<VkImage, std::vector<ImageSubresourcePair>> &imageSubresourceMap,
+                                               std::unordered_map<ImageSubresourcePair, IMAGE_LAYOUT_NODE> &imageLayoutMap,
+                                               const VkImageCreateInfo *pCreateInfo, VkImage *pImage) {
+    IMAGE_LAYOUT_NODE image_state;
+    image_state.layout = pCreateInfo->initialLayout;
+    image_state.format = pCreateInfo->format;
+    imageMap.insert(std::make_pair(*pImage, std::unique_ptr<IMAGE_STATE>(new IMAGE_STATE(*pImage, pCreateInfo))));
+    ImageSubresourcePair subpair{*pImage, false, VkImageSubresource()};
+    imageSubresourceMap[*pImage].push_back(subpair);
+    imageLayoutMap[subpair] = image_state;
+}
diff --git a/layers/buffer_validation.h b/layers/buffer_validation.h
index 0e53bbf..d99e565 100644
--- a/layers/buffer_validation.h
+++ b/layers/buffer_validation.h
@@ -26,4 +26,9 @@
 #include <unordered_map>
 #include <vector>
 
+VK_LAYER_EXPORT void PostCallRecordCreateImage(std::unordered_map<VkImage, std::unique_ptr<IMAGE_STATE>> &imageMap,
+                                               std::unordered_map<VkImage, std::vector<ImageSubresourcePair>> &imageSubresourceMap,
+                                               std::unordered_map<ImageSubresourcePair, IMAGE_LAYOUT_NODE> &imageLayoutMap,
+                                               const VkImageCreateInfo *pCreateInfo, VkImage *pImage);
+
 #endif // CORE_VALIDATION_BUFFER_VALIDATION_H_
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index ade1ce7..03429a1 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -61,6 +61,7 @@
 #pragma GCC diagnostic warning "-Wwrite-strings"
 #endif
 #include "core_validation.h"
+#include "buffer_validation.h"
 #include "vk_layer_table.h"
 #include "vk_layer_data.h"
 #include "vk_layer_extension_utils.h"
@@ -6482,13 +6483,7 @@
 
     if (VK_SUCCESS == result) {
         std::lock_guard<std::mutex> lock(global_lock);
-        IMAGE_LAYOUT_NODE image_state;
-        image_state.layout = pCreateInfo->initialLayout;
-        image_state.format = pCreateInfo->format;
-        dev_data->imageMap.insert(std::make_pair(*pImage, unique_ptr<IMAGE_STATE>(new IMAGE_STATE(*pImage, pCreateInfo))));
-        ImageSubresourcePair subpair = {*pImage, false, VkImageSubresource()};
-        dev_data->imageSubresourceMap[*pImage].push_back(subpair);
-        dev_data->imageLayoutMap[subpair] = image_state;
+        PostCallRecordCreateImage(dev_data->imageMap, dev_data->imageSubresourceMap, dev_data->imageLayoutMap, pCreateInfo, pImage);
     }
     return result;
 }
