diff --git a/indra/llcommon/workqueue.h b/indra/llcommon/workqueue.h
index eea8886a7af5752dbd1532c3def2753aac14b8d1..5461ce6c2334a4081c413ef3dcb576fbb4e9c035 100644
--- a/indra/llcommon/workqueue.h
+++ b/indra/llcommon/workqueue.h
@@ -419,8 +419,8 @@ namespace LL
                 // moved-from.
                 try
                 {
-                    std::dynamic_pointer_cast<WorkSchedule>(mTarget.lock())->
-                        post(std::move(*this), mStart);
+                    auto target{ std::dynamic_pointer_cast<WorkSchedule>(mTarget.lock()) };
+                    target->post(std::move(*this), mStart);
                 }
                 catch (const Closed&)
                 {