diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp
index 60156d7eb70f53f744e0d7c43050fdf985e6cdc1..29c1d82d6611822441bdfe2330a60de987dcabb3 100644
--- a/indra/llcommon/llqueuedthread.cpp
+++ b/indra/llcommon/llqueuedthread.cpp
@@ -464,7 +464,7 @@ S32 LLQueuedThread::processNextRequest()
 			unlockData();
 			if (mThreaded && start_priority < PRIORITY_NORMAL)
 			{
-				ms_sleep(1); // sleep the thread a little
+				yield();
 			}
 		}
 		
@@ -511,7 +511,7 @@ void LLQueuedThread::run()
 		if (pending_work == 0)
 		{
 			mIdleThread = true;
-			ms_sleep(1);
+			yield();
 		}
 		//LLThread::yield(); // thread should yield after each request		
 	}
diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h
index 7b76b90dc21081bdd993e4e273e1fa0b304fb83b..4ec8928f8b48c5344e7ff9c3de55c868925d1370 100644
--- a/indra/llcommon/llqueuedthread.h
+++ b/indra/llcommon/llqueuedthread.h
@@ -204,7 +204,7 @@ class LL_COMMON_API LLQueuedThread : public LLThread
 	request_queue_t mRequestQueue;
 	std::atomic<S32> mRequestQueueSize;
 
-	enum { REQUEST_HASH_SIZE = 512 }; // must be power of 2
+	enum { REQUEST_HASH_SIZE = 1024 }; // must be power of 2
 	typedef LLSimpleHash<handle_t, REQUEST_HASH_SIZE> request_hash_t;
 	request_hash_t mRequestHash;