diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index 5c99bb68bb78674802438f792f3e983c441e396d..dac8b65c5c50704d0d95e224a9b215ad50b84292 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -835,7 +835,8 @@ void LLViewerTextureList::updateImages(F32 max_time)
 	}
 
 	//loading from fast cache 
-	max_time -= updateImagesLoadingFastCache(max_time);
+	F32 fastcache_time = updateImagesLoadingFastCache(max_time / 3);
+	max_time = llmax(max_time * 2/3, max_time - fastcache_time); // at least 66% for update fetch & create
 	
 	updateImagesDecodePriorities();