diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6a7fedd..efb5302 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2011-12-13  Revital Eres  <revital.eres@linaro.org>
+
+	* modulo-sched.c (mark_loop_unsched): Free bbs.
+
 2011-12-12  Jakub Jelinek  <jakub@redhat.com>
 
 	PR rtl-optimization/51495
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 0ea9a4d..969b273 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -1204,6 +1204,8 @@ mark_loop_unsched (struct loop *loop)
 
   for (i = 0; i < loop->num_nodes; i++)
     bbs[i]->flags |= BB_DISABLE_SCHEDULE;
+
+  free (bbs);
 }
 
 /* Return true if all the BBs of the loop are empty except the