diff --git a/src/modules/os.c b/src/modules/os.c
index 53368e47de6073a14356dd90b7e5f762a59341f9..82e2ee820cd6098a841d12c18896a6684f940736 100644
--- a/src/modules/os.c
+++ b/src/modules/os.c
@@ -137,7 +137,7 @@ int module_Call( vlc_object_t *obj, module_t *p_module )
 static void load_libvlccore( void )
 {
     if( !dlsym( RTLD_DEFAULT, "libvlc_Quit" )
-     && !dlopen( "libvlccore.so", RTLD_GLOBAL|RTLD_NOLOAD ) )
+     && !dlopen( "libvlccore.so", RTLD_LAZY|RTLD_GLOBAL|RTLD_NOLOAD ) )
         fprintf( stderr, "ERROR: failed loading libvlccore\n" );
 }
 #endif