diff --git a/src/dynamic_graph/__init__.py b/src/dynamic_graph/__init__.py
index 965b0bf91658c42298cc313db1e53c1ccbca9dda..c84a5442e1d1ca782b1017ef211d6217df07aca0 100644
--- a/src/dynamic_graph/__init__.py
+++ b/src/dynamic_graph/__init__.py
@@ -3,7 +3,15 @@ Copyright (c) 2010 CNRS
 Author: Florent Lamiraux
 """
 
+import sys, dl
+flags = sys.getdlopenflags()
+# Import C++ symbols in a global scope
+# This is necessary for signal compiled in different modules to be compatible
+sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
 from wrap import *
+# Recover previous flags
+sys.setdlopenflags(flags)
+
 import entity, signal_base
 import re