diff --git a/src/ros_import.hh b/src/ros_import.hh
index a7de9a5c175ea1afa0d688dcaa35aa829d135536..aff0cd23936f422e82ad9e1a7baa46c24513f448 100644
--- a/src/ros_import.hh
+++ b/src/ros_import.hh
@@ -80,7 +80,7 @@ namespace dynamicgraph
     (boost::shared_ptr
      <realtime_tools::RealtimePublisher
      <typename SotToRos<T>::ros_t> > publisher,
-     boost::shared_ptr<typename SotToRos<T>::signal_t> signal,
+     boost::shared_ptr<typename SotToRos<T>::signalIn_t> signal,
      int time);
 
     template <typename T>
diff --git a/src/ros_import.hxx b/src/ros_import.hxx
index 8555565b564df5dc0e56d7ba8692d38b4ea1764d..bb224f156e849515345fd1122a373785c3cf0f83 100644
--- a/src/ros_import.hxx
+++ b/src/ros_import.hxx
@@ -18,7 +18,7 @@ namespace dynamicgraph
   (boost::shared_ptr
    <realtime_tools::RealtimePublisher
    <typename SotToRos<T>::ros_t> > publisher,
-   boost::shared_ptr<typename SotToRos<T>::signal_t> signal,
+   boost::shared_ptr<typename SotToRos<T>::signalIn_t> signal,
    int time)
   {
     typename SotToRos<T>::ros_t result;
@@ -34,7 +34,7 @@ namespace dynamicgraph
   {
     typedef typename SotToRos<T>::sot_t sot_t;
     typedef typename SotToRos<T>::ros_t ros_t;
-    typedef typename SotToRos<T>::signal_t signal_t;
+    typedef typename SotToRos<T>::signalIn_t signal_t;
 
     // Initialize the bindedSignal object.
     bindedSignal_t bindedSignal;
@@ -47,9 +47,10 @@ namespace dynamicgraph
       (nh_, topic, 1);
 
     // Initialize the signal.
-    boost::shared_ptr<signal_t> signalPtr =
-      boost::make_shared<signal_t>
-      (MAKE_SIGNAL_STRING(name, true, SotToRos<T>::signalTypeName, signal));
+    boost::shared_ptr<signal_t> signalPtr
+      (new signal_t
+       (0,
+	MAKE_SIGNAL_STRING(name, true, SotToRos<T>::signalTypeName, signal)));
     boost::get<0> (bindedSignal) = signalPtr;
     SotToRos<T>::setDefault(*signalPtr);
     signalRegistration (*boost::get<0> (bindedSignal));