diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp
index 6dac614eea0bad779457fdc36caf6f5739701684..6aef1a3bb9734429713dfe58e03b369c064c5fb8 100644
--- a/indra/llrender/llrendertarget.cpp
+++ b/indra/llrender/llrendertarget.cpp
@@ -366,31 +366,33 @@ void LLRenderTarget::release()
         glBindFramebuffer(GL_FRAMEBUFFER, sCurFBO);
     }
 
-    // Detach any extra color buffers (e.g. SRGB spec buffers)
-    //
-    if (mFBO && (mTex.size() > 1))
-    {
-        glBindFramebuffer(GL_FRAMEBUFFER, mFBO);
-        S32 z;
-        for (z = mTex.size() - 1; z >= 1; z--)
-        {
-            sBytesAllocated -= mResX*mResY*4;
-            glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0+z, LLTexUnit::getInternalType(mUsage), 0, 0);
-            LLImageGL::deleteTextures(1, &mTex[z]);
-        }
-        glBindFramebuffer(GL_FRAMEBUFFER, sCurFBO);
-    }
-
-    if (mFBO == sCurFBO)
-    {
-        sCurFBO = 0;
-        glBindFramebuffer(GL_FRAMEBUFFER, 0);
-    }
-
-    if (mFBO)
-    {
-        glDeleteFramebuffers(1, (GLuint *) &mFBO);
-        mFBO = 0;
+	if (mFBO)
+	{
+		// Detach any extra color buffers (e.g. SRGB spec buffers)
+		//
+		if (mTex.size() > 1)
+		{
+			glBindFramebuffer(GL_FRAMEBUFFER, mFBO);
+			S32 z;
+			for (z = mTex.size() - 1; z >= 1; z--)
+			{
+				sBytesAllocated -= mResX * mResY * 4;
+				glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + z, LLTexUnit::getInternalType(mUsage), 0, 0);
+				LLImageGL::deleteTextures(1, &mTex[z]);
+			}
+			glBindFramebuffer(GL_FRAMEBUFFER, sCurFBO);
+		}
+
+		if (mFBO == sCurFBO)
+		{
+			sCurFBO = 0;
+			glBindFramebuffer(GL_FRAMEBUFFER, 0);
+		}
+
+		{
+			glDeleteFramebuffers(1, (GLuint*)&mFBO);
+			mFBO = 0;
+		}
     }
 
     if (mTex.size() > 0)