diff --git a/plugin/src/dap_plugin_binary.c b/plugin/src/dap_plugin_binary.c
index 76c3e9fd3407bd66163499a0ece2d17b130837af..8c3661a56d2f3413e928eb5a5ea73eaf66d231dd 100644
--- a/plugin/src/dap_plugin_binary.c
+++ b/plugin/src/dap_plugin_binary.c
@@ -91,7 +91,7 @@ static int s_type_callback_load(dap_plugin_manifest_t * a_manifest, void ** a_pv
 #elif defined (DAP_OS_LINUX)
     char * l_path = dap_strdup_printf("%s/lib%s.linux.common.%s.so",a_manifest->path,a_manifest->name,dap_get_arch());
 #endif
-    l_pvt_data->handle = dlopen(l_path, RTLD_NOW); // Try with specified architecture first
+    l_pvt_data->handle = dlopen(l_path, RTLD_NOW | RTLD_GLOBAL); // Try with specified architecture first
     if(l_pvt_data->handle){
         l_pvt_data->callback_init = dlsym(l_pvt_data->handle, "plugin_init");
         l_pvt_data->callback_deinit = dlsym(l_pvt_data->handle, "plugin_deinit");