diff --git a/packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.cpp b/packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.cpp index 12216edfeb4..f8c5bfc1366 100644 --- a/packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.cpp +++ b/packages/react-native-reanimated/Common/cpp/worklets/SharedItems/Shareables.cpp @@ -289,7 +289,12 @@ jsi::Value ShareableHandle::toJSValue(jsi::Runtime &rt) { remoteRuntime_ = &rt; } } - return jsi::Value(rt, *remoteValue_); + if (&rt == remoteRuntime_) { + return jsi::Value(rt, *remoteValue_); + } + auto initObj = initializer_->toJSValue(rt); + return getValueUnpacker(rt).call( + rt, initObj, jsi::String::createFromAscii(rt, "Handle")); } jsi::Value ShareableString::toJSValue(jsi::Runtime &rt) {