--- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~	2005-09-19 09:14:02.000000000 -0700
+++ xine-lib-1.1.1/src/xine-engine/load_plugins.c	2006-04-22 23:07:33.000000000 -0700
@@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this
 	    printf("load_plugins: %s not cached\n", str);
 #endif
 
-	  if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
+	  if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
 	    const char *error = dlerror();
 	    /* too noisy -- but good to catch unresolved references */
 	    xprintf(this, XINE_VERBOSITY_LOG, 
@@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th
     /* load the dynamic library if needed */
     if (!node->file->lib_handle) {
       lprintf("dlopen %s\n", filename);
-      if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
+      if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
 	const char *error = dlerror();
 
 	xine_log (this, XINE_LOG_PLUGIN,
