diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index fe058024f699d7b8efe4d1aaa9f195e3b98992ea..485d3fc8780574bbd88915f225273d8c34dd1efc 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -3946,7 +3946,7 @@ LLTextureFetch::TFRequest * LLTextureFetch::cmdDequeue()
 	if (! mCommands.empty())
 	{
 		ret = mCommands.front();
-		mCommands.erase(mCommands.begin());
+		mCommands.pop_front();
 	}
 	unlockQueue();														// -Mfq
 
diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h
index cdf886859703e13267f87f562ba585ccba6743af..f9b0855d5eaab045e0a644ef49b9782ed508dfff 100644
--- a/indra/newview/lltexturefetch.h
+++ b/indra/newview/lltexturefetch.h
@@ -347,7 +347,7 @@ class LLTextureFetch : public LLWorkerThread
 	// is logically tied to LLQueuedThread's list of
 	// QueuedRequest instances and so must be covered by the
 	// same locks.
-	typedef std::vector<TFRequest *> command_queue_t;
+	typedef std::deque<TFRequest *> command_queue_t;
 	command_queue_t mCommands;											// Mfq
 
 	// If true, modifies some behaviors that help with QA tasks.