diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 70c144a832f6c001914b96433d2f4e531086d7d7..b77126996e6aeb294757dde50e16fbf951c3d99a 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -3732,10 +3732,14 @@ void LLContextMenuBranch::buildDrawLabel( void )
 
 void	LLContextMenuBranch::showSubMenu()
 {
-	S32 center_x;
-	S32 center_y;
-	localPointToScreen(getRect().getWidth(), getRect().getHeight() , &center_x, &center_y);
-	mBranch->show(	center_x, center_y);
+	LLMenuItemGL* menu_item = mBranch->getParentMenuItem();
+	if (menu_item != NULL && menu_item->getVisible())
+	{
+		S32 center_x;
+		S32 center_y;
+		localPointToScreen(getRect().getWidth(), getRect().getHeight() , &center_x, &center_y);
+		mBranch->show(center_x, center_y);
+	}
 }
 
 // onCommit() - do the primary funcationality of the menu item.