diff --git a/loader/loader.h b/loader/loader.h
index f170f4d..c6e6457 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -32,6 +32,14 @@
 #ifndef LOADER_H
 #define LOADER_H
 
+#if defined _WIN32
+#define VK_USE_PLATFORM_WIN32_KHR
+#else
+//#define VK_USE_PLATFORM_MIR_KHR
+//#define VK_USE_PLATFORM_WAYLAND_KHR
+#define VK_USE_PLATFORM_XCB_KHR
+//#define VK_USE_PLATFORM_XLIB_KHR
+#endif
 #include <vulkan/vulkan.h>
 #include <vk_loader_platform.h>
 
diff --git a/loader/wsi.c b/loader/wsi.c
index 09a5247..db99fde 100644
--- a/loader/wsi.c
+++ b/loader/wsi.c
@@ -43,25 +43,33 @@
         .specVersion = VK_KHR_WIN32_SURFACE_REVISION,
 };
 #else // _WIN32
+#ifdef VK_USE_PLATFORM_MIR_KHR
 static const VkExtensionProperties wsi_mir_surface_extension_info = {
         .extensionName = VK_KHR_MIR_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_MIR_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_MIR_KHR
 
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
 static const VkExtensionProperties wsi_wayland_surface_extension_info = {
         .extensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_WAYLAND_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_WAYLAND_KHR
 
+#ifdef VK_USE_PLATFORM_XCB_KHR
 static const VkExtensionProperties wsi_xcb_surface_extension_info = {
         .extensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_XCB_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_XCB_KHR
 
+#ifdef VK_USE_PLATFORM_XLIB_KHR
 static const VkExtensionProperties wsi_xlib_surface_extension_info = {
         .extensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_XLIB_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_XLIB_KHR
 #endif // _WIN32
 
 void wsi_add_instance_extensions(
@@ -72,10 +80,18 @@
 #ifdef _WIN32
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_win32_surface_extension_info);
 #else // _WIN32
+#ifdef VK_USE_PLATFORM_MIR_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_mir_surface_extension_info);
+#endif // VK_USE_PLATFORM_MIR_KHR
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_wayland_surface_extension_info);
+#endif // VK_USE_PLATFORM_WAYLAND_KHR
+#ifdef VK_USE_PLATFORM_XCB_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_xcb_surface_extension_info);
+#endif // VK_USE_PLATFORM_XCB_KHR
+#ifdef VK_USE_PLATFORM_XLIB_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_xlib_surface_extension_info);
+#endif // VK_USE_PLATFORM_XLIB_KHR
 #endif // _WIN32
 }
 
@@ -83,7 +99,7 @@
         struct loader_instance *ptr_instance,
         const VkInstanceCreateInfo *pCreateInfo)
 {
-    ptr_instance->wsi_enabled = false;
+    ptr_instance->wsi_surface_enabled = false;
 #ifdef _WIN32
     ptr_instance->wsi_surface_enabled = true;
 #else // _WIN32
@@ -103,18 +119,26 @@
             ptr_instance->wsi_surface_enabled = true;
         }
 #else // _WIN32
+#ifdef VK_USE_PLATFORM_MIR_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_MIR_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_mir_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_MIR_KHR
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_wayland_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_WAYLAND_KHR
+#ifdef VK_USE_PLATFORM_XCB_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XCB_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_xcb_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_XCB_KHR
+#ifdef VK_USE_PLATFORM_XLIB_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XLIB_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_xlib_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_XLIB_KHR
 #endif // _WIN32
     }
 }
