diff --git a/juno_samples/cava/src/gpu.sch b/juno_samples/cava/src/gpu.sch
index 92a1835d7d49d38f533036f162a5fe2d6113e979..0ef466c00d08f3edffe02bad9612ce23ebf14768 100644
--- a/juno_samples/cava/src/gpu.sch
+++ b/juno_samples/cava/src/gpu.sch
@@ -121,12 +121,6 @@ fork-tile[2, 0, false, true](fuse4@channel_loop);
 let out = fork-split(fuse4@channel_loop);
 fork-unroll(out.cava_3.fj1);
 unforkify(fuse4@channel_loop);
-fork-tile[4, 1, false, true](fuse4);
-fork-tile[8, 0, false, true](fuse4);
-fork-interchange[1, 2](fuse4);
-let split = fork-split(fuse4);
-fork-coalesce(split.cava_3.fj0 \ split.cava_3.fj2);
-fork-coalesce(split.cava_3.fj2);
 
 no-memset(fuse5@res1);
 no-memset(fuse5@res2);
@@ -139,6 +133,13 @@ simpl!(fuse5);
 array-slf(fuse5);
 simpl!(fuse5);
 
+fork-tile[4, 1, false, true](fuse4);
+fork-tile[8, 0, false, true](fuse4);
+fork-interchange[1, 2](fuse4);
+let split = fork-split(fuse4);
+fork-coalesce(split.cava_3.fj0 \ split.cava_3.fj2);
+fork-coalesce(split.cava_3.fj2);
+
 delete-uncalled(*);
 simpl!(*);