diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp
index 395d29888740ff60f06e3ee304181317adecabf4..e7ad571a905d793031be93686b6b368a5ba06ec5 100644
--- a/indra/llcommon/llqueuedthread.cpp
+++ b/indra/llcommon/llqueuedthread.cpp
@@ -113,8 +113,11 @@ S32 LLQueuedThread::update(U32 max_time_ms)
 {
 	if (!mStarted)
 	{
-		startThread();
-		mStarted = TRUE;
+		if (!mThreaded)
+		{
+			startThread();
+			mStarted = TRUE;
+		}
 	}
 	return updateQueue(max_time_ms);
 }