diff --git a/juno_samples/rodinia/bfs/src/gpu.sch b/juno_samples/rodinia/bfs/src/gpu.sch
index 4e5c1f74e34cedacd48ddf6c33b631a08079b995..b734bc76a22d1dbbfeaef4a2626acd88c7e7d12f 100644
--- a/juno_samples/rodinia/bfs/src/gpu.sch
+++ b/juno_samples/rodinia/bfs/src/gpu.sch
@@ -38,6 +38,12 @@ fixpoint {
 }
 simpl!(collect);
 
+fork-tile[32, 0, false, true](traverse, collect);
+let (outer, inner) = fork-reshape[[1], [0]](traverse);
+let traverse_body = outline(inner);
+let (outer, inner) = fork-reshape[[1], [0]](collect);
+let collect_body = outline(inner);
+
 fork-tile[1024, 0, false, true](traverse, collect);
 fork-split(traverse, collect);