diff --git a/runtime/starpu/include/chameleon_starpu_internal.h b/runtime/starpu/include/chameleon_starpu_internal.h
index c202955a80a5454fdb7c64bbb1f9db5ccd29db17..6d237662398756b50b75a47771f630c12221d4d9 100644
--- a/runtime/starpu/include/chameleon_starpu_internal.h
+++ b/runtime/starpu/include/chameleon_starpu_internal.h
@@ -447,6 +447,7 @@ starpu_cham_task_set_options( const RUNTIME_option_t   *options,
                               struct starpu_data_descr *descrs,
                               callback_fct_t            callback )
 {
+    int allocated_buffers = 0;
     int i;
 
     task->priority = options->priority;
@@ -473,6 +474,10 @@ starpu_cham_task_set_options( const RUNTIME_option_t   *options,
     // task->where; /* Do restriction here */
 
     task->nbuffers = nbdata;
+
+    /* Dynamic handles */
+    starpu_task_insert_data_make_room( task->cl, task, &allocated_buffers, 0, task->nbuffers );
+
     for ( i = 0; i < task->nbuffers; i++ ) {
         enum starpu_data_access_mode mode = descrs[i].mode;
         assert( descrs[i].handle );