diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index d7febda1c77ad5667290909e6e44d1dbea124e07..d0b9f07117cab554172ee1d93cb1f9c2fd4d767a 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -956,7 +956,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
 		if (!addDeferredAttachments(mDeferredScreen)) return false;
 	
 		GLuint screenFormat = GL_RGBA16;
-		if (gGLManager.mIsATI)
+		if (gGLManager.mGLVersion < 4.f && gGLManager.mIsATI)
 		{
 			screenFormat = GL_RGBA12;
 		}
@@ -965,7 +965,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
 		{
 			screenFormat = GL_RGBA16F;
 		}
-        
+
 		if (!mScreen.allocate(resX, resY, screenFormat, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE, samples)) return false;
 		if (samples > 0)
 		{