diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index 321eea6..8302b2e 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -503,8 +503,6 @@
 				A94FB7841C7DFB4800632CA3 /* MVKDevice.mm */,
 				A94FB7851C7DFB4800632CA3 /* MVKDeviceMemory.h */,
 				A94FB7861C7DFB4800632CA3 /* MVKDeviceMemory.mm */,
-				A9653FB724129C84005999D7 /* MVKPixelFormats.h */,
-				A9653FB924129C84005999D7 /* MVKPixelFormats.mm */,
 				A94FB7871C7DFB4800632CA3 /* MVKFramebuffer.h */,
 				A94FB7881C7DFB4800632CA3 /* MVKFramebuffer.mm */,
 				A94FB7891C7DFB4800632CA3 /* MVKImage.h */,
@@ -513,6 +511,8 @@
 				A94FB78C1C7DFB4800632CA3 /* MVKInstance.mm */,
 				A94FB78D1C7DFB4800632CA3 /* MVKPipeline.h */,
 				A94FB78E1C7DFB4800632CA3 /* MVKPipeline.mm */,
+				A9653FB724129C84005999D7 /* MVKPixelFormats.h */,
+				A9653FB924129C84005999D7 /* MVKPixelFormats.mm */,
 				A94FB78F1C7DFB4800632CA3 /* MVKQueryPool.h */,
 				A94FB7901C7DFB4800632CA3 /* MVKQueryPool.mm */,
 				A94FB7911C7DFB4800632CA3 /* MVKQueue.h */,
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index a988a15..95056cb 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -163,6 +163,18 @@
  *    a command is executed. This is a classic time-space trade off. When command pooling is
  *    active, the memory in the pool can be cleared via a call to the vkTrimCommandPoolKHR()
  *    command. This setting is enabled by default, and MoltenVK will pool command memory.
+ *
+ * 9. The MVK_CONFIG_USE_MTLHEAP runtime environment variable or MoltenVK compile-time build
+ *    setting controls whether MoltenVK should use MTLHeaps for allocating textures and buffers
+ *    from device memory. If this environment variable is enabled, and placement MTLHeaps are
+ *    available on the platform, MoltenVK will allocate a placement MTLHeap for each VkDeviceMemory
+ *    instance, and allocate textures and buffers from that placement heap. If this environment
+ *    variable is disabled, MoltenVK will allocate textures and buffers from general device memory.
+ *    Apple recommends that MTLHeaps should only be used for specific requirements such as aliasing
+ *    or hazard tracking, and MoltenVK testing has shown that allocating multiple textures of
+ *    different types or usages from one MTLHeap can occassionally cause corruption issues under
+ *    certain circumstances. Because of this, this setting is disabled by default, and MoltenVK
+ *    will allocate texures and buffers from general device memory.
  */
 typedef struct {
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index b49b4f1..d093636 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -773,7 +773,15 @@
 
 // Initializes the Metal-specific physical device features of this instance.
 void MVKPhysicalDevice::initMetalFeatures() {
-	mvkClear(&_metalFeatures);	// Start with everything cleared
+
+#	ifndef MVK_CONFIG_USE_MTLHEAP
+#   	define MVK_CONFIG_USE_MTLHEAP    0
+#	endif
+	bool useMTLHeaps;
+	MVK_SET_FROM_ENV_OR_BUILD_BOOL(useMTLHeaps, MVK_CONFIG_USE_MTLHEAP);
+
+	// Start with all Metal features cleared
+	mvkClear(&_metalFeatures);
 
 	_metalFeatures.maxPerStageBufferCount = 31;
     _metalFeatures.maxMTLBufferSize = (256 * MEBI);
@@ -848,7 +856,7 @@
 
 	if ( mvkOSVersionIsAtLeast(13.0) ) {
 		_metalFeatures.mslVersionEnum = MTLLanguageVersion2_2;
-		_metalFeatures.placementHeaps = true;
+		_metalFeatures.placementHeaps = useMTLHeaps;
 		if (supportsMTLGPUFamily(Apple4)) {
 			_metalFeatures.nativeTextureSwizzle = true;
 		}
@@ -904,7 +912,7 @@
 		_metalFeatures.native3DCompressedTextures = true;
 		if (supportsMTLGPUFamily(Mac2)) {
 			_metalFeatures.nativeTextureSwizzle = true;
-			_metalFeatures.placementHeaps = true;
+			_metalFeatures.placementHeaps = useMTLHeaps;
 		}
 	}
 
@@ -957,7 +965,6 @@
 			break;
 #endif
 	}
-
 }
 
 // Initializes the physical device features of this instance.
@@ -2656,10 +2663,9 @@
 	}
 	MVKLogInfo("Using %s for Vulkan semaphores.", _useMTLFenceForSemaphores ? "MTLFence" : (_useMTLEventForSemaphores ? "MTLEvent" : "emulation"));
 
-#ifndef MVK_CONFIG_USE_COMMAND_POOLING
-#   define MVK_CONFIG_USE_COMMAND_POOLING    1
-#endif
-	_useCommandPooling = MVK_CONFIG_USE_COMMAND_POOLING;
+#	ifndef MVK_CONFIG_USE_COMMAND_POOLING
+#   	define MVK_CONFIG_USE_COMMAND_POOLING    1
+#	endif
 	MVK_SET_FROM_ENV_OR_BUILD_BOOL(_useCommandPooling, MVK_CONFIG_USE_COMMAND_POOLING);
 
 #if MVK_MACOS
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
index 6f7bc0c..c231f2e 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
@@ -289,7 +289,7 @@
 #if MVK_MACOS
 	NSArray* rawMTLDevs = [MTLCopyAllDevices() autorelease];
 	if (rawMTLDevs) {
-		bool forceLowPower = MVK_CONFIG_FORCE_LOW_POWER_GPU;
+		bool forceLowPower;
 		MVK_SET_FROM_ENV_OR_BUILD_BOOL(forceLowPower, MVK_CONFIG_FORCE_LOW_POWER_GPU);
 
 		// Populate the array of appropriate MTLDevices
