diff --git a/Cargo.lock b/Cargo.lock
index 59f37af4..da6f0291 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -624,6 +624,7 @@ dependencies = [
"error_reporter",
"futures-util",
"log",
+ "run-on-drop",
"serde",
"serde_json",
"thiserror",
diff --git a/jay-config/Cargo.toml b/jay-config/Cargo.toml
index 0cd1434f..0c609cbc 100644
--- a/jay-config/Cargo.toml
+++ b/jay-config/Cargo.toml
@@ -17,3 +17,4 @@ backtrace = "0.3.69"
error_reporter = "1.0.0"
serde_json = "1.0.114"
bstr = { version = "1.9.0", default-features = false, features = ["std"] }
+run-on-drop = "1.0.0"
diff --git a/jay-config/src/_private/client.rs b/jay-config/src/_private/client.rs
index c78399a7..2962e56e 100644
--- a/jay-config/src/_private/client.rs
+++ b/jay-config/src/_private/client.rs
@@ -33,6 +33,7 @@ use {
},
bincode::Options,
futures_util::task::ArcWake,
+ run_on_drop::{OnDrop, on_drop},
std::{
cell::{Cell, RefCell},
collections::{HashMap, VecDeque, hash_map::Entry},
@@ -100,6 +101,7 @@ pub(crate) struct Client {
on_del_drm_device: RefCell