diff --git a/components/script/dom/bindings/root.rs b/components/script/dom/bindings/root.rs
index 9f10fc87f2a..ae81e4909b9 100644
--- a/components/script/dom/bindings/root.rs
+++ b/components/script/dom/bindings/root.rs
@@ -35,8 +35,7 @@ use js::jsapi::{JSObject, JSTracer, Heap};
use js::rust::GCMethods;
use mitochondria::OnceCell;
use script_layout_interface::TrustedNodeAddress;
-use script_thread::STACK_ROOTS;
-use std::cell::UnsafeCell;
+use std::cell::{Cell, UnsafeCell};
use std::default::Default;
use std::hash::{Hash, Hasher};
#[cfg(debug_assertions)]
@@ -157,7 +156,7 @@ pub struct RootCollection {
}
/// A pointer to a RootCollection, for use in global variables.
-pub struct RootCollectionPtr(pub *const RootCollection);
+struct RootCollectionPtr(pub *const RootCollection);
impl Copy for RootCollectionPtr {}
impl Clone for RootCollectionPtr {
@@ -166,6 +165,8 @@ impl Clone for RootCollectionPtr {
}
}
+thread_local!(static STACK_ROOTS: Cell