diff --git a/src/dynamic_graph/signal_base.py b/src/dynamic_graph/signal_base.py
index 1894d9e505c2dce718efe9c6bba2b946ad6ce767..a191001d6e3410fc2256d303bc14a20bf3575d35 100644
--- a/src/dynamic_graph/signal_base.py
+++ b/src/dynamic_graph/signal_base.py
@@ -164,8 +164,11 @@ class SignalBase (object) :
         else :
             raise RuntimeError(
                 "A pointer is required to create SignalBase object.")
-        self.name=self.getName()
-        self.className=self.getClassName()
+
+        if (obj==None):
+          self.className=self.getClassName()
+          self.name=self.getName()
+ 
     @property
     def time(self) :
         """