diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 85259fdc1ec6e6e6c99f80dda42c748ed45f0d01..9f69ed3964fedbdb8630644841c66ab90d289e09 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -887,6 +887,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				}
 				else
 				{
+					// mFormattedImage gauranteed to not be NULL since cur_size != 0
+					mLoadedDiscard = mFormattedImage->getDiscardLevel();
 					mState = DECODE_IMAGE;
 					return false; // use what we have
 				}
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 282eddf380d395f02bc5ebdfd8403d3f6cb2ce57..73b5222ee3a5da76b7310b74e9f9fb221f7a3b74 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -7268,13 +7268,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 					updateCull(camera, ref_result, 1);
 					stateSort(camera, ref_result);
 				}
-				else
-				{
-					gGL.setColorMask(true, true);
-					mWaterRef.clear();
-					gGL.setColorMask(true, false);
-				}
-
+				
 				ref_mask = mRenderTypeMask;
 				mRenderTypeMask = mask;
 			}