diff --git a/src/tree.c b/src/tree.c
index e928777594cfbda978998ec9004bd2c6cf314ccd..2c9ee88b5fbb90623a38d0a276f078774299f9d8 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -183,8 +183,8 @@ static void delete_tree_node(struct tree_node_t * curr, void (*freeKey)(void *),
  * par rapport aux valeurs deleteKey et deleteData.
  */
 void delete_tree(struct tree_t * T, int deleteKey, int deleteData) {
-	assert(deleteKey == 0 || deleteKey == 1);
-	assert(deleteData == 0 || deleteData == 1);
+	//assert(deleteKey == 0 || deleteKey == 1);
+	//assert(deleteData == 0 || deleteData == 1);
 	// A FAIRE
 	assert(T);
 	if (get_root(T))
@@ -545,5 +545,7 @@ static struct tree_node_t * remove_tree_node(struct tree_node_t * curr, void * k
 void * tree_remove(struct tree_t * T, void * key) {
 	void* data = NULL;
 	struct tree_node_t* node = remove_tree_node(get_root(T), key, &data, tree_is_balanced(T), T->preceed);
+	if (node)
+		decrease_tree_size(T);
 	return data;
 }