diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp
index ab744fb7ff73cd6599bbdd4fa55ecbf9f5caa399..bd9953e41820ed50cd5acf3014987b474b8d009a 100755
--- a/indra/llrender/llimagegl.cpp
+++ b/indra/llrender/llimagegl.cpp
@@ -1464,10 +1464,10 @@ void LLImageGL::destroyGLTexture()
 		}
 		
 		LLImageGL::deleteTextures(1, &mTexName);			
-		mTexName = 0;
-		mCurrentDiscardLevel = -1 ; //invalidate mCurrentDiscardLevel.
+		mTexName = 0;		
 		mGLTextureCreated = FALSE ;
 	}
+	mCurrentDiscardLevel = -1 ; //invalidate mCurrentDiscardLevel.
 }
 
 
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 1b468a7b96d09be0e52fdddbbab42b83d34a5edb..f27e20c2a20b1cf40c509124aec1131c83b08bfc 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -1146,7 +1146,7 @@ S32  LLViewerTexture::getDiscardLevelInAtlas() const
 
 void LLViewerTexture::destroyGLTexture() 
 {
-	if(mGLTexturep.notNull() && mGLTexturep->getHasGLTexture())
+	if(mGLTexturep.notNull())
 	{
 		mGLTexturep->destroyGLTexture() ;
 		mTextureState = DELETED ;