Test a fix
diff --git a/sparse_strips/vello_cpu/src/dispatch/multi_threaded.rs b/sparse_strips/vello_cpu/src/dispatch/multi_threaded.rs
index f95d086..94ea6ae 100644
--- a/sparse_strips/vello_cpu/src/dispatch/multi_threaded.rs
+++ b/sparse_strips/vello_cpu/src/dispatch/multi_threaded.rs
@@ -319,6 +319,7 @@
         self.alpha_storage = Arc::new(OnceLockAlphaStorage::new(self.num_threads));
 
         let workers = self.workers.clone();
+        let alpha_storage = self.alpha_storage.clone();
         // + 1 since we also wait on the main thread.
         let barrier = Arc::new(Barrier::new(usize::from(self.num_threads) + 1));
         let t_barrier = barrier.clone();
@@ -327,6 +328,7 @@
             let worker = workers.get().unwrap();
             let mut borrowed = worker.borrow_mut();
             borrowed.reset();
+            borrowed.alpha_storage = alpha_storage.clone();
             t_barrier.wait();
         });
 
diff --git a/sparse_strips/vello_cpu/src/render.rs b/sparse_strips/vello_cpu/src/render.rs
index 192bc38..fc21090 100644
--- a/sparse_strips/vello_cpu/src/render.rs
+++ b/sparse_strips/vello_cpu/src/render.rs
@@ -571,7 +571,7 @@
         ctx.push_clip_layer(&Rect::new(20.0, 20.0, 180.0, 180.0).to_path(0.1));
         ctx.pop_layer();
     }
-    
+
     #[cfg(feature = "multithreading")]
     #[test]
     fn multithreaded_crash_after_reset() {
@@ -580,7 +580,7 @@
             level: Level::new(),
             num_threads: 1,
         };
-        
+
         let mut ctx = RenderContext::new_with(200, 200, &settings);
         ctx.reset();
         ctx.fill_path(&Rect::new(0.0, 0.0, 100.0, 100.0).to_path(0.1));