diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 3436bb926dad26d80509a80143973ee65ce02f92..cf716953b8de45889eb638c57327adcc5bb80be3 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -3884,8 +3884,6 @@ void LLPipeline::postSort(LLCamera& camera)
 	{
 		mSelectedFaces.clear();
 
-		LLPipeline::setRenderHighlightTextureChannel(gFloaterTools->getPanelFace()->getTextureChannelToEdit());
-
 		// Draw face highlights for selected faces.
 		if (LLSelectMgr::getInstance()->getTEMode())
 		{
@@ -3904,6 +3902,11 @@ void LLPipeline::postSort(LLCamera& camera)
 					return true;
 				}
 			} func;
+
+			if (!mSelectedFaces.empty())
+			{
+				LLPipeline::setRenderHighlightTextureChannel(gFloaterTools->getPanelFace()->getTextureChannelToEdit());
+			}
 			LLSelectMgr::getInstance()->getSelection()->applyToTEs(&func);
 		}
 	}