diff --git a/src/ast.c b/src/ast.c
index 9ad2b7d993ec9a25a0e1abe5ae465feb2541adc6..c9e0292a09605b11dab2aec052ce53f4c87ef895 100644
--- a/src/ast.c
+++ b/src/ast.c
@@ -397,6 +397,7 @@ mcc_ast_new_statement_list(struct mcc_ast_statement *statement)
 	assert(list);
 
 	list->statement = statement;
+	list->next = NULL;
 
 	return list;
 }
@@ -409,6 +410,7 @@ void mcc_ast_delete_statement_list(
 		mcc_ast_delete_statement_list(statement_list->next);
 	}
 	mcc_ast_delete_statement(statement_list->statement);
+	free(statement_list);
 }
 
 struct mcc_ast_statement *