diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp
index 809d72208f0ba0bb546d2fff5b570bd5babf8f9e..d0146910b6698bac6735ae8415ad841efa02cb0e 100644
--- a/indra/llui/llaccordionctrl.cpp
+++ b/indra/llui/llaccordionctrl.cpp
@@ -936,3 +936,20 @@ S32 LLAccordionCtrl::calcExpandedTabHeight(S32 tab_index /* = 0 */, S32 availabl
 	expanded_tab_height /= num_expanded;
 	return expanded_tab_height;
 }
+
+void LLAccordionCtrl::collapseAllTabs() 
+{
+    if (mAccordionTabs.size() > 0)
+    {
+        for (size_t i = 0; i < mAccordionTabs.size(); ++i)
+        {
+            LLAccordionCtrlTab *tab = mAccordionTabs[i];
+
+            if (tab->getDisplayChildren())
+            {
+                tab->setDisplayChildren(false);
+            }
+        }
+        arrange();
+    }
+}
diff --git a/indra/llui/llaccordionctrl.h b/indra/llui/llaccordionctrl.h
index 282825447245c0ce62781f5ed516510feb1ae469..cc49ac80868b81ebee4ed78e704ae238e5098714 100644
--- a/indra/llui/llaccordionctrl.h
+++ b/indra/llui/llaccordionctrl.h
@@ -122,6 +122,8 @@ class LLAccordionCtrl: public LLPanel
 	void	setComparator(const LLTabComparator* comp) { mTabComparator = comp; }
 	void	sort();
 
+    void collapseAllTabs();
+
 	/**
 	 * Sets filter substring as a search_term for help text when there are no any visible tabs.
 	 */
diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp
index b588d6eaa1f249d8401a963c1b68165b368efe6b..5db8424b993ad603a11817490cb31986e2596714 100644
--- a/indra/newview/llgroupactions.cpp
+++ b/indra/newview/llgroupactions.cpp
@@ -398,7 +398,7 @@ void LLGroupActions::inspect(const LLUUID& group_id)
 }
 
 // static
-void LLGroupActions::show(const LLUUID& group_id)
+void LLGroupActions::show(const LLUUID &group_id, bool expand_notices_tab)
 {
 	if (group_id.isNull())
 		return;
@@ -406,6 +406,10 @@ void LLGroupActions::show(const LLUUID& group_id)
 	LLSD params;
 	params["group_id"] = group_id;
 	params["open_tab_name"] = "panel_group_info_sidetray";
+    if (expand_notices_tab) 
+    {
+        params["action"] = "show_notices";
+    }
 
 	LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params);
     LLFloater *floater = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>("people");
diff --git a/indra/newview/llgroupactions.h b/indra/newview/llgroupactions.h
index afc4686dd77c00fcda9d9ecd8b759b07b0cc52fd..44513199c16c1a3bb912e6bea9f45139c62feeea 100644
--- a/indra/newview/llgroupactions.h
+++ b/indra/newview/llgroupactions.h
@@ -57,7 +57,7 @@ class LLGroupActions
 	/**
 	 * Show group information panel.
 	 */
-	static void show(const LLUUID& group_id);
+	static void show(const LLUUID& group_id, bool expand_notices_tab = false);
 
 	/**
 	 * Show group inspector floater.
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index 32af2592d32e25a4422915387c1887d282045549..d13744054739324311761dc74797d097a0788bba 100644
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -303,6 +303,7 @@ void LLGroupList::addNewItem(const LLUUID& id, const std::string& name, const LL
 
 	item->getChildView("info_btn")->setVisible( false);
 	item->getChildView("profile_btn")->setVisible( false);
+    item->getChildView("notices_btn")->setVisible(false);
 	item->setGroupIconVisible(mShowIcons);
     if (!mShowIcons)
     {
@@ -403,6 +404,7 @@ mGroupIcon(NULL),
 mGroupNameBox(NULL),
 mInfoBtn(NULL),
 mProfileBtn(NULL),
+mNoticesBtn(NULL),
 mVisibilityHideBtn(NULL),
 mVisibilityShowBtn(NULL),
 mGroupID(LLUUID::null),
@@ -435,6 +437,9 @@ BOOL  LLGroupListItem::postBuild()
     mProfileBtn = getChild<LLButton>("profile_btn");
     mProfileBtn->setClickedCallback([this](LLUICtrl *, const LLSD &) { onProfileBtnClick(); });
 
+    mNoticesBtn = getChild<LLButton>("notices_btn");
+    mNoticesBtn->setClickedCallback([this](LLUICtrl *, const LLSD &) { onNoticesBtnClick(); });
+
     mVisibilityHideBtn = findChild<LLButton>("visibility_hide_btn");
     if (mVisibilityHideBtn)
     {
@@ -470,6 +475,7 @@ void LLGroupListItem::onMouseEnter(S32 x, S32 y, MASK mask)
 	{
 		mInfoBtn->setVisible(true);
         mProfileBtn->setVisible(true);
+        mNoticesBtn->setVisible(true);
         if (mForAgent && mVisibilityHideBtn)
         {
             LLGroupData agent_gdatap;
@@ -489,6 +495,7 @@ void LLGroupListItem::onMouseLeave(S32 x, S32 y, MASK mask)
 	getChildView("hovered_icon")->setVisible( false);
 	mInfoBtn->setVisible(false);
     mProfileBtn->setVisible(false);
+    mNoticesBtn->setVisible(false);
     if (mVisibilityHideBtn)
     {
         mVisibilityHideBtn->setVisible(false);
@@ -583,6 +590,11 @@ void LLGroupListItem::onProfileBtnClick()
 	LLGroupActions::show(mGroupID);
 }
 
+void LLGroupListItem::onNoticesBtnClick()
+{
+    LLGroupActions::show(mGroupID, true);
+}
+
 void LLGroupListItem::onVisibilityBtnClick(bool new_visibility)
 {
     LLGroupData agent_gdatap;
diff --git a/indra/newview/llgrouplist.h b/indra/newview/llgrouplist.h
index 5cbabb712fdbae16a22ae2e7730df2655d9440c1..1bc2caff3344a246a820a6d3abbaf5304ad18e7a 100644
--- a/indra/newview/llgrouplist.h
+++ b/indra/newview/llgrouplist.h
@@ -123,6 +123,7 @@ class LLGroupListItem : public LLPanel
 	void setBold(bool bold);
 	void onInfoBtnClick();
 	void onProfileBtnClick();
+    void onNoticesBtnClick();
     void onVisibilityBtnClick(bool new_visibility);
 
 	LLTextBox*	mGroupNameBox;
@@ -130,6 +131,7 @@ class LLGroupListItem : public LLPanel
 	LLGroupIconCtrl* mGroupIcon;
     LLButton*	mInfoBtn;
     LLButton*	mProfileBtn;
+    LLButton*	mNoticesBtn;
     LLButton*	mVisibilityHideBtn;
     LLButton*	mVisibilityShowBtn;
 
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp
index ab255d52151261c0c348d491e230d815a5e676b9..57742f16a71a9f54fc6fa781815d2f7aef041b27 100644
--- a/indra/newview/llpanelgroup.cpp
+++ b/indra/newview/llpanelgroup.cpp
@@ -134,6 +134,15 @@ void LLPanelGroup::onOpen(const LLSD& key)
 		if(panel_notices)
 			panel_notices->refreshNotices();
 	}
+    if (str_action == "show_notices")
+    {
+        setGroupID(group_id);
+
+        LLAccordionCtrl *tab_ctrl = getChild<LLAccordionCtrl>("groups_accordion");
+        tab_ctrl->collapseAllTabs();
+        getChild<LLAccordionCtrlTab>("group_notices_tab")->setDisplayChildren(true);
+        tab_ctrl->arrange();
+    }
 
 }
 
diff --git a/indra/newview/skins/default/textures/icons/Group_Notices.png b/indra/newview/skins/default/textures/icons/Group_Notices.png
new file mode 100644
index 0000000000000000000000000000000000000000..601502d374fef0744e3f9110f55f3631e8cde7ce
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Group_Notices.png differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index aa99fe38cdc5a24534dab9580850f02a2ee7b1e0..615816ed9973d9e05d5dd45e0dd35718886e26e4 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -239,6 +239,8 @@ with the same filename but different name
   <texture name="Generic_Person" file_name="icons/Generic_Person.png" preload="false" />
   <texture name="Generic_Person_Large" file_name="icons/Generic_Person_Large.png" preload="false" />
 
+  <texture name="Group_Notices" file_name="icons/Group_Notices.png" preload="false" />
+
   <texture name="Hand" file_name="icons/hand.png" preload="false" />
   
   <texture name="Help_Press" file_name="navbar/Help_Press.png" preload="false" />
diff --git a/indra/newview/skins/default/xui/en/panel_group_list_item.xml b/indra/newview/skins/default/xui/en/panel_group_list_item.xml
index e758a8ce302bc3c0d1b47aced6ce1aa87b99b332..c8b165e8691fb0061f6646bd20e087bacfd03877 100644
--- a/indra/newview/skins/default/xui/en/panel_group_list_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_list_item.xml
@@ -48,6 +48,18 @@
      use_ellipses="true"
      value="Unknown"
      width="242" />
+    <button
+     name="notices_btn"
+     tool_tip="Group Notices"
+     top_delta="-4"
+     left_pad="3"
+     right="-53"
+     height="20"
+     width="20"
+     follows="right"
+     image_pressed="Group_Notices"
+     image_unselected="Group_Notices"
+     tab_stop="false"/>
     <button
      follows="right"
      height="16"
@@ -58,7 +70,7 @@
      name="info_btn"
      tool_tip="More info"
      tab_stop="false"
-     top_delta="-2"
+     top_delta="2"
      width="16" />
    <!--*TODO: Should only appear on rollover-->
     <button
@@ -71,6 +83,6 @@
      name="profile_btn"
      tab_stop="false"
      tool_tip="View profile"
-     top_delta="-2"
+     top_delta="0"
      width="20" />
 </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml b/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml
index b72af7221e4890c9f9767e68b07431c01e58dc5d..042a5f388bed804f141930849222f7695a664481 100644
--- a/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml
@@ -53,10 +53,22 @@
      text_color="ScrollUnselectedColor"
      use_ellipses="true"
     />
+    <button
+     name="notices_btn"
+     tool_tip="Group Notices"
+     top_delta="-4"
+     left_pad="3"
+     right="-80"
+     height="20"
+     width="20"
+     follows="right"
+     image_pressed="Group_Notices"
+     image_unselected="Group_Notices"
+     tab_stop="false"/>
     <button
      name="visibility_hide_btn"
      tool_tip="Hide group on my profile"
-     top_delta="-3"
+     top_delta="0"
      left_pad="3"
      right="-53"
      height="20"