diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h
index 1bc8531..8dd03de 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -1524,6 +1524,7 @@
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT)
 #define LoadLibrary __MINGW_NAME_AW(LoadLibrary)
   WINBASEAPI HMODULE WINAPI LoadLibraryW (LPCWSTR lpLibFileName);
+  WINBASEAPI HMODULE WINAPI LoadLibraryA (LPCSTR lpLibFileName);
 #endif
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
   WINBASEAPI HANDLE WINAPI OpenMutexA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName);
@@ -1537,7 +1538,6 @@
 #endif
   WINBASEAPI HANDLE WINAPI OpenFileMappingA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName);
   WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA (DWORD nBufferLength, LPSTR lpBuffer);
-  WINBASEAPI HMODULE WINAPI LoadLibraryA (LPCSTR lpLibFileName);
 
 #ifndef UNICODE
 #define OpenMutex OpenMutexA
@@ -1549,7 +1549,6 @@
 #endif
 
 #define CreateWaitableTimer __MINGW_NAME_AW(CreateWaitableTimer)
-#define LoadLibrary __MINGW_NAME_AW(LoadLibrary)
 
 #if _WIN32_WINNT >= 0x0600
 #ifndef UNICODE
diff --git a/mingw-w64-libraries/winstorecompat/src/LoadLibraryW.c b/mingw-w64-libraries/winstorecompat/src/LoadLibraryW.c
index 428a6e0..9cbe216 100644
--- a/mingw-w64-libraries/winstorecompat/src/LoadLibraryW.c
+++ b/mingw-w64-libraries/winstorecompat/src/LoadLibraryW.c
@@ -25,17 +25,31 @@
 #define _WIN32_WINNT 0x602 /* LoadPackagedLibrary is Win8 APP Family */
 
 #define LoadLibraryW __LoadLibraryW
-#include <windef.h>
-#include <winbase.h>
+#define LoadLibraryA __LoadLibraryA
+#include <windows.h>
 #undef LoadLibraryW
+#undef LoadLibraryA
 
 HMODULE WINAPI LoadLibraryW(LPCWSTR lpFileName)
 {
     return LoadPackagedLibrary(lpFileName, 0);
 }
 
+HMODULE WINAPI LoadLibraryA(LPCSTR lpFileName)
+{
+    int len = MultiByteToWideChar(GetACP(), 0, lpFileName, -1, NULL, 0);
+    if (len <= 0)
+        return NULL;
+
+    wchar_t *out = alloca(len);
+    MultiByteToWideChar(GetACP(), 0, lpFileName, -1, out, len);
+    return LoadLibraryW(out);
+}
+
 #ifdef _X86_
 HMODULE (WINAPI *__MINGW_IMP_SYMBOL(LoadLibraryW))(LPCWSTR lpFileName) __asm__("__imp__LoadLibraryW@4") = LoadLibraryW;
+HMODULE (WINAPI *__MINGW_IMP_SYMBOL(LoadLibraryA))(LPCSTR lpFileName) __asm__("__imp__LoadLibraryA@4") = LoadLibraryA;
 #else
 HMODULE (WINAPI *__MINGW_IMP_SYMBOL(LoadLibraryW))(LPCWSTR lpFileName) __asm__("__imp_LoadLibraryW") = LoadLibraryW;
+HMODULE (WINAPI *__MINGW_IMP_SYMBOL(LoadLibraryA))(LPCSTR lpFileName) __asm__("__imp_LoadLibraryA") = LoadLibraryA;
 #endif
