diff --git a/libs/ardour/vst3_module.cc b/libs/ardour/vst3_module.cc
index 1285b3275a..e10725cc88 100644
--- a/libs/ardour/vst3_module.cc
+++ b/libs/ardour/vst3_module.cc
@@ -133,8 +133,13 @@ public:
 #ifndef NDEBUG
 		_path = path;
 #endif
-		if ((_handle = LoadLibraryA (Glib::locale_from_utf8 (path).c_str ())) == 0) {
-			throw failed_constructor ();
+    gunichar2 *wpath = g_utf8_to_utf16(path.c_str(), -1, 0, 0, 0);
+    if (wpath) {
+      _handle = LoadLibraryW((LPCWSTR)wpath);
+      g_free(wpath);
+    }
+    if (_handle == 0) {
+      throw failed_constructor();
 		}
 
 		if (!init ()) {
