diff --git a/src/core/lib/promise/activity.h b/src/core/lib/promise/activity.h index b84fc473b6249..b142ea411f388 100644 --- a/src/core/lib/promise/activity.h +++ b/src/core/lib/promise/activity.h @@ -668,11 +668,13 @@ ActivityPtr MakeActivity(Factory promise_factory, } inline Pending IntraActivityWaiter::pending() { - const auto new_wakeups = GetContext()->CurrentParticipant(); - GRPC_TRACE_LOG(promise_primitives, INFO) - << "IntraActivityWaiter::pending: " - << GRPC_DUMP_ARGS(this, new_wakeups, wakeups_); - wakeups_ |= new_wakeups; + if (Activity::current()) { + const auto new_wakeups = GetContext()->CurrentParticipant(); + GRPC_TRACE_LOG(promise_primitives, INFO) + << "IntraActivityWaiter::pending: " + << GRPC_DUMP_ARGS(this, new_wakeups, wakeups_); + wakeups_ |= new_wakeups; + } return Pending(); }