diff --git a/src/algo.c b/src/algo.c
index 6683ebd406f61639a00d3d76c01b0cb85a0059c6..a410bea33f01a589ede1912544b8051a911f9688 100644
--- a/src/algo.c
+++ b/src/algo.c
@@ -55,7 +55,7 @@ struct event_key_t * new_event_key(int event_type, unsigned long event_time, uns
 	key->event_type = event_type;
 	key->event_time = event_time;
 	key->processing_time = processing_time;
-	key->task_id = task_id;
+	key->task_id = strdup(task_id);
 	key->machine = machine;
 	return key;
 }
@@ -201,7 +201,7 @@ struct ready_task_key_t * new_ready_task_key(unsigned long remaining_processing_
 	// A FAIRE
 	struct ready_task_key_t *key = malloc(sizeof(struct ready_task_key_t));
     key->remaining_processing_time = remaining_processing_time;
-    key->task_id = task_id;
+    key->task_id = strdup(task_id);
     return key;
 }
 
diff --git a/src/schedule.c b/src/schedule.c
index e0b0792482d704bdc7d2d0512df54ee47ed9f137..25a9f62999cfdd80ebcc8d1cd2b88d947a6a3680 100644
--- a/src/schedule.c
+++ b/src/schedule.c
@@ -201,7 +201,7 @@ void add_task_to_schedule(struct schedule_t * S, struct task_t * task, int machi
 
 	struct schedule_node_t* sched = new_schedule_node(task, bt, et);
 	struct list_t* list = get_schedule_of_machine(S, machine);
-	assert(get_schedule_node_end_time(sched) < bt);
+	assert(get_schedule_node_end_time(sched) > bt);
 	list_insert_last(list, sched);
 }