diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 754a13dd4c9e6e48ad109747aed622aeffa0f379..44f45e999586fa4cee6863598a5d9c980d20e9d8 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -693,8 +693,25 @@ void LLPanelFace::getState()
 					return image_format;
 				}
 			} func2;
-			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func2, image_format );
-			mIsAlpha = image_format != GL_RGB;
+			identical &= LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func2, image_format );
+            
+            mIsAlpha = FALSE;
+            switch (image_format)
+            {
+                case GL_RGBA:
+                case GL_ALPHA:
+                {
+                    mIsAlpha = TRUE;
+                }
+                break;
+
+                case GL_RGB: break;
+                default:
+                {
+                    llinfos << "Unexpected tex format in LLPanelFace...resorting to no alpha" << llendl;
+                }
+                break;
+            }
 
 			if(LLViewerMedia::textureHasMedia(id))
 			{