diff --git a/include/dynamic-graph/time-dependency.h b/include/dynamic-graph/time-dependency.h
index 755a30f1cdf4f07cdb01da9bb924e2e0eeaa61a8..a3d48f0f54de1e1abbba088c3e4f943b276ddb89 100644
--- a/include/dynamic-graph/time-dependency.h
+++ b/include/dynamic-graph/time-dependency.h
@@ -43,6 +43,7 @@ public:
                  const DependencyType dep = DEPENDENCY_TYPE_DEFAULT);
   virtual ~TimeDependency() {}
 
+  void addDependencies(const SignalArray_const<Time> &arr);
   void addDependency(const SignalBase<Time> &sig);
   void removeDependency(const SignalBase<Time> &sig);
   void clearDependency();
diff --git a/include/dynamic-graph/time-dependency.t.cpp b/include/dynamic-graph/time-dependency.t.cpp
index 5338e01a56b046c8a85189ce937925e62086790d..5e418a1c12600317c37475ecce6bdbaa76ee8af4 100644
--- a/include/dynamic-graph/time-dependency.t.cpp
+++ b/include/dynamic-graph/time-dependency.t.cpp
@@ -26,14 +26,19 @@ TimeDependency<Time>::TimeDependency(SignalBase<Time> *sig,
                                      const SignalArray_const<Time> &ar,
                                      const DependencyType dep)
     : __TIME_DEPENDENCY_INIT(sig, dep) {
-  for (unsigned int i = 0; i < ar.getSize(); ++i) {
-    addDependency(ar[i]);
-  }
+  addDependencies(ar);
 
   return;
 }
 
 /* ------------------------------------------------------------------------ */
+template <class Time>
+void TimeDependency<Time>::addDependencies(const SignalArray_const<Time> &ar) {
+  for (unsigned int i = 0; i < ar.getSize(); ++i) {
+    addDependency(ar[i]);
+  }
+}
+
 template <class Time>
 void TimeDependency<Time>::addDependency(const SignalBase<Time> &sig) {
   dependencies.push_front(&sig);