diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index c162af371ffbc72635934f1e576362cfd5809e5c..cd8dd54fa63128e2cfa79bfbf862e0bd6271a7de 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -2089,7 +2089,9 @@ bool LLViewerFetchedTexture::updateFetch()
 	{
 		make_request = false;
 	}
-	else if(mCachedRawImage.notNull() && (current_discard < 0 || current_discard > mCachedRawDiscardLevel))
+	else if(mCachedRawImage.notNull() // can be empty
+			&& mCachedRawImageReady
+			&& (current_discard < 0 || current_discard > mCachedRawDiscardLevel))
 	{
 		make_request = false;
 		switchToCachedImage(); //use the cached raw data first