diff --git a/src/Common.h b/src/Common.h
index 45ff625..19c0297 100644
--- a/src/Common.h
+++ b/src/Common.h
@@ -69,7 +69,6 @@
 extern VkDevice g_hDevice;
 extern VkInstance g_hVulkanInstance;
 extern VmaAllocator g_hAllocator;
-extern bool g_MemoryAliasingWarningEnabled;
 extern bool VK_AMD_device_coherent_memory_enabled;
 
 void SetAllocatorCreateInfo(VmaAllocatorCreateInfo& outInfo);
diff --git a/src/Tests.cpp b/src/Tests.cpp
index 8138211..dd1988b 100644
--- a/src/Tests.cpp
+++ b/src/Tests.cpp
@@ -1720,7 +1720,6 @@
 static void TestDefragmentationGpu()
 {
     wprintf(L"Test defragmentation GPU\n");
-    g_MemoryAliasingWarningEnabled = false;
 
     std::vector<AllocInfo> allocations;
 
@@ -1854,8 +1853,6 @@
     {
         allocations[i].Destroy();
     }
-
-    g_MemoryAliasingWarningEnabled = true;
 }
 
 static void ProcessDefragmentationStepInfo(VmaDefragmentationPassInfo &stepInfo)
@@ -2043,7 +2040,6 @@
 static void TestDefragmentationIncrementalBasic()
 {
     wprintf(L"Test defragmentation incremental basic\n");
-    g_MemoryAliasingWarningEnabled = false;
 
     std::vector<AllocInfo> allocations;
 
@@ -2223,15 +2219,12 @@
     {
         allocations[i].Destroy();
     }
-
-    g_MemoryAliasingWarningEnabled = true;
 }
 
 void TestDefragmentationIncrementalComplex()
 {
     wprintf(L"Test defragmentation incremental complex\n");
-    g_MemoryAliasingWarningEnabled = false;
-
+    
     std::vector<AllocInfo> allocations;
 
     // Create that many allocations to surely fill 3 new blocks of 256 MB.
@@ -2438,8 +2431,6 @@
     {
         additionalAllocations[i].Destroy();
     }
-
-    g_MemoryAliasingWarningEnabled = true;
 }
 
 
@@ -5583,10 +5574,8 @@
     config.TotalItemCount = config.UsedItemCountMax * 10;
     config.UsedItemCountMin = config.UsedItemCountMax * 80 / 100;
 
-    g_MemoryAliasingWarningEnabled = false;
     PoolTestResult result = {};
     TestPool_Benchmark(result, config);
-    g_MemoryAliasingWarningEnabled = true;
 
     WritePoolTestResult(file, "Code desc", "Test desc", config, result);
 }
@@ -6070,9 +6059,7 @@
                             printf("%s #%u\n", testDescription, (uint32_t)repeat);
 
                             PoolTestResult result{};
-                            g_MemoryAliasingWarningEnabled = false;
                             TestPool_Benchmark(result, config);
-                            g_MemoryAliasingWarningEnabled = true;
                             WritePoolTestResult(file, CODE_DESCRIPTION, testDescription, config, result);
                         }
                     }
