diff --git a/indra/newview/app_settings/shaders/class1/alchemy/toneMapF.glsl b/indra/newview/app_settings/shaders/class1/alchemy/toneMapF.glsl
index d96d8ecb6c1d2e6cd9f7449667c56c1df48e8db6..378cab9b6ed541ef47a328e1b00de6995dd7a963 100644
--- a/indra/newview/app_settings/shaders/class1/alchemy/toneMapF.glsl
+++ b/indra/newview/app_settings/shaders/class1/alchemy/toneMapF.glsl
@@ -147,7 +147,7 @@ void main()
 #endif
 
 #if TONEMAP_METHOD == 1 // Aces Hill method
-    diff.rgb = mix(ACES_Hill(diff.rgb), diff.rgb, 0.333);
+    diff.rgb = mix(ACES_Hill(diff.rgb), diff.rgb, 0.3);
 #elif TONEMAP_METHOD == 2 // Uchimura's Gran Turismo method
     diff.rgb = uchimura(diff.rgb);
 #elif TONEMAP_METHOD == 3 // AMD Tonemapper
diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl
index 64e6bc9da21ccac7cb6292a2783b0071aae9b1fe..3443785e1adb82743d789034a11f57a482c0f221 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl
@@ -106,7 +106,7 @@ vec3 toneMap(vec3 color)
     color *= exposure * exp_scale;
 
     // mix ACES and Linear here as a compromise to avoid over-darkening legacy content
-    color = mix(toneMapACES_Hill(color), color, 0.333);
+    color = mix(toneMapACES_Hill(color), color, 0.3);
 #endif
 
     return color;
diff --git a/indra/newview/llreflectionmap.cpp b/indra/newview/llreflectionmap.cpp
index a5d89300704ecf9be5fe55c25c013691b2cbea02..ffc9f54e1b7cd3ef5c6f6cef24c9c30442c08aba 100644
--- a/indra/newview/llreflectionmap.cpp
+++ b/indra/newview/llreflectionmap.cpp
@@ -167,7 +167,16 @@ void LLReflectionMap::autoAdjustOrigin()
     {
         mPriority = 1;
         mOrigin.load3(mViewerObject->getPositionAgent().mV);
-        mRadius = mViewerObject->getScale().mV[0]*0.5f;
+
+        if (mViewerObject->getVolume() && ((LLVOVolume*)mViewerObject)->getReflectionProbeIsBox())
+        {
+            LLVector3 s = mViewerObject->getScale().scaledVec(LLVector3(0.5f, 0.5f, 0.5f));
+            mRadius = s.magVec();
+        }
+        else
+        {
+            mRadius = mViewerObject->getScale().mV[0] * 0.5f;
+        }
     }
 }
 
diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp
index 9134e08d31a367e1c3a8e5416abe65a247bcbce1..e8ab967bd8e9e1052163b134a4d7939db9ddb830 100644
--- a/indra/newview/llreflectionmapmanager.cpp
+++ b/indra/newview/llreflectionmapmanager.cpp
@@ -238,8 +238,6 @@ void LLReflectionMapManager::update()
             continue;
         }
 
-        
-
         LLVector4a d;
 
         if (probe != mDefaultProbe.get())
@@ -977,10 +975,21 @@ void LLReflectionMapManager::updateUniforms()
         llassert(refmap->mCubeIndex >= 0); // should always be  true, if not, getReflectionMaps is bugged
 
         {
-            if (refmap->mViewerObject)
+            if (refmap->mViewerObject && refmap->mViewerObject->getVolume())
             { // have active manual probes live-track the object they're associated with
-                refmap->mOrigin.load3(refmap->mViewerObject->getPositionAgent().mV);
-                refmap->mRadius = refmap->mViewerObject->getScale().mV[0] * 0.5f;
+                LLVOVolume* vobj = (LLVOVolume*)refmap->mViewerObject;
+
+                refmap->mOrigin.load3(vobj->getPositionAgent().mV);
+
+                if (vobj->getReflectionProbeIsBox())
+                {
+                    LLVector3 s = vobj->getScale().scaledVec(LLVector3(0.5f, 0.5f, 0.5f));
+                    refmap->mRadius = s.magVec();
+                }
+                else
+                {
+                    refmap->mRadius = refmap->mViewerObject->getScale().mV[0] * 0.5f;
+                }
 
             }
             modelview.affineTransform(refmap->mOrigin, oa);
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 867db6f1a39c2d94bf01078d5d6f97ec25dc53e8..859ba208c807ebd02868b0c11446e9578a2953f1 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -3948,10 +3948,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion)
 					poolp->endDeferredPass(i);
 					LLVertexBuffer::unbind();
 
-					if (gDebugGL || gDebugPipeline)
-					{
-						LLGLState::checkStates();
-					}
+					LLGLState::checkStates();
 				}
 			}
 			else
@@ -8376,7 +8373,10 @@ void LLPipeline::doWaterHaze()
             gGLLastMatrix = NULL;
             gGL.loadMatrix(gGLModelView);
 
-            mWaterPool->pushFaceGeometry();
+            if (mWaterPool)
+            {
+                mWaterPool->pushFaceGeometry();
+            }
         }
 
         unbindDeferredShader(haze_shader);