diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt
index f0b4436df584d87a8760421caa90d9c729f500cc..b97092da9ac5c6c98120a0c8e4821102e953b58c 100644
--- a/indra/llui/CMakeLists.txt
+++ b/indra/llui/CMakeLists.txt
@@ -147,6 +147,7 @@ set(llui_HEADER_FILES
     llmultifloater.h 
     llmultisliderctrl.h
     llmultislider.h
+    llnotificationptr.h
     llnotifications.h
     llnotificationslistener.h
     llpanel.h
diff --git a/indra/llui/llnotificationptr.h b/indra/llui/llnotificationptr.h
new file mode 100644
index 0000000000000000000000000000000000000000..0718f7d18243e76f44fd2f19b670b757c06138e7
--- /dev/null
+++ b/indra/llui/llnotificationptr.h
@@ -0,0 +1,41 @@
+/**
+ * @file llnotificationptr.h
+ *
+ * $LicenseInfo:firstyear=2008&license=viewergpl$
+ * 
+ * Copyright (c) 2008-2009, Linden Research, Inc.
+ * 
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab.  Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * 
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * 
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ * 
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+#ifndef LLNOTIFICATIONPTR_H
+#define LLNOTIFICATIONPTR_H
+
+// Many classes just store a single LLNotificationPtr
+// and llnotifications.h is very large, so define this ligher header.
+#include <boost/shared_ptr.hpp>
+
+class LLNotification;
+typedef boost::shared_ptr<LLNotification> LLNotificationPtr;
+
+#endif
diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h
index 0d7cb74f7044602874487569445acfff12503b82..d959baf541ec9d296979e3ca4e1f9937413b6665 100644
--- a/indra/llui/llnotifications.h
+++ b/indra/llui/llnotifications.h
@@ -103,9 +103,7 @@
 #include "llpointer.h"
 #include "llinitparam.h"
 #include "llnotificationslistener.h"
-
-class LLNotification;
-typedef boost::shared_ptr<LLNotification> LLNotificationPtr;
+#include "llnotificationptr.h"
 
 	
 typedef enum e_notification_priority
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index eb5d172ff7d7689f534d98d82f5f132a978f4db2..fba5200b596e11aaebc3a7ad70b44f1a5031b570 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -58,6 +58,7 @@
 #include "llmoveview.h"
 #include "llnavigationbar.h" // to show/hide navigation bar when changing mouse look state
 #include "llnearbychatbar.h"
+#include "llnotifications.h"
 #include "llparcel.h"
 #include "llsdutil.h"
 #include "llsidetray.h"
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 538dcb6f3dff2c2bbac908687fb40d3d88dc426e..e410e6890a2125f99f75a102b5ab5cfeed5bb6f2 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -41,6 +41,7 @@
 #include "llinventorybridge.h"
 #include "llinventoryobserver.h"
 #include "llinventorypanel.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llviewerregion.h"
 #include "llvoavatarself.h"
diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp
index 38843c72215f3f96d499c2d25b886b25590b3cab..eb57daec7b4b7ea0fb1cafc4e240b4b38bbfd707 100644
--- a/indra/newview/llassetuploadresponders.cpp
+++ b/indra/newview/llassetuploadresponders.cpp
@@ -63,6 +63,7 @@
 #include "lleconomy.h"
 #include "llfloaterreg.h"
 #include "llfocusmgr.h"
+#include "llnotifications.h"
 #include "llscrolllistctrl.h"
 #include "llsdserialize.h"
 #include "llvfs.h"
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp
index c4f0fa53a79c21f8ccea2a8cbcadb154983dde40..9c2ea224c05ce826176d1dc0a7ff2bc3bae8ce0f 100644
--- a/indra/newview/llbottomtray.cpp
+++ b/indra/newview/llbottomtray.cpp
@@ -40,6 +40,7 @@
 #include "llimfloater.h" // for LLIMFloater
 #include "lllayoutstack.h"
 #include "llnearbychatbar.h"
+#include "llnotifications.h"
 #include "llspeakbutton.h"
 #include "llsplitbutton.h"
 #include "llsyswellwindow.h"
diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp
index 0b10255c2f2395b8aa224dbe655fde71a90cd272..7c917b4ba677a5a6e5b67ab25f673d11e6ce79d5 100644
--- a/indra/newview/llcallingcard.cpp
+++ b/indra/newview/llcallingcard.cpp
@@ -53,6 +53,7 @@
 #include "llbutton.h"
 #include "llinventoryobserver.h"
 #include "llinventorymodel.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llresmgr.h"
 #include "llimview.h"
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index 90f246ddaffdfdd9a928943b5b314a6d297e443a..5ce89dcb6e9cef70bdfecd4bf4deaf865d75a480 100644
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -32,6 +32,7 @@
 
 #include "llviewerprecompiledheaders.h" // must be first include
 #include "llchiclet.h"
+
 #include "llagent.h"
 #include "llavataractions.h"
 #include "llbottomtray.h"
@@ -42,6 +43,7 @@
 #include "llfloaterreg.h"
 #include "lllocalcliprect.h"
 #include "llmenugl.h"
+#include "llnotifications.h"
 #include "lloutputmonitorctrl.h"
 #include "llscriptfloater.h"
 #include "lltextbox.h"
diff --git a/indra/newview/lldelayedgestureerror.cpp b/indra/newview/lldelayedgestureerror.cpp
index 1af94b350352b42e667774d19819d180212df99e..1abcf0f2f7f4322b8c64c853e0542b0306c7f0ba 100644
--- a/indra/newview/lldelayedgestureerror.cpp
+++ b/indra/newview/lldelayedgestureerror.cpp
@@ -33,7 +33,9 @@
 
 #include "llviewerprecompiledheaders.h"
 #include "lldelayedgestureerror.h"
+
 #include <list>
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llcallbacklist.h"
 #include "llinventory.h"
diff --git a/indra/newview/lleventnotifier.cpp b/indra/newview/lleventnotifier.cpp
index da20766e7ee48d389bceb3bbcb4dfe85475627c2..c2945d95004d4dab6b9e1d919a9b9065f321a79c 100644
--- a/indra/newview/lleventnotifier.cpp
+++ b/indra/newview/lleventnotifier.cpp
@@ -34,6 +34,7 @@
 
 #include "lleventnotifier.h"
 
+#include "llnotifications.h"
 #include "message.h"
 
 #include "llnotify.h"
diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp
index 893b12ec359a49f97f930ba20537deb63f496d61..7760794961859204e6354324bf46ac4e24a8adda 100644
--- a/indra/newview/llfirstuse.cpp
+++ b/indra/newview/llfirstuse.cpp
@@ -36,6 +36,7 @@
 
 // library includes
 #include "indra_constants.h"
+#include "llnotifications.h"
 
 // viewer includes
 #include "llagent.h"	// for gAgent.inPrelude()
diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp
index 9ba61ba92f7e1e0cc8943b51191ed8ca4289f546..ae0d4d2811edcd3b59aa4062ce6498d39fd8defc 100644
--- a/indra/newview/llfloaterauction.cpp
+++ b/indra/newview/llfloaterauction.cpp
@@ -46,6 +46,7 @@
 
 #include "llagent.h"
 #include "llcombobox.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llsavedsettingsglue.h"
 #include "llviewertexturelist.h"
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp
index 976aaf8044727b7c329d5e35925ec335afe828fa..6410509cd306b9726685b406daa0fa714cd5e42a 100644
--- a/indra/newview/llfloaterbuyland.cpp
+++ b/indra/newview/llfloaterbuyland.cpp
@@ -48,6 +48,7 @@
 #include "llframetimer.h"
 #include "lliconctrl.h"
 #include "lllineeditor.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llparcel.h"
 #include "llslurl.h"
diff --git a/indra/newview/llfloaterfriends.cpp b/indra/newview/llfloaterfriends.cpp
index 2c66ab502d966886f6fa439e47f2551dc0259777..4e4df6d5075d2cd5259567188189ae81935f76bd 100644
--- a/indra/newview/llfloaterfriends.cpp
+++ b/indra/newview/llfloaterfriends.cpp
@@ -49,6 +49,7 @@
 #include "llavataractions.h"
 #include "llinventorymodel.h"
 #include "llnamelistctrl.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llresmgr.h"
 #include "llscrolllistctrl.h"
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index d855ab1dfa78fcf06d4f898f244949c24588ed0e..040a72ea7b1818e25340b63f7fc1d66d2182417a 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -39,6 +39,7 @@
 
 #include "llcachename.h"
 #include "llfocusmgr.h"
+#include "llnotifications.h"
 #include "llparcel.h"
 #include "message.h"
 #include "lluserauth.h"
diff --git a/indra/newview/llfloaternotificationsconsole.h b/indra/newview/llfloaternotificationsconsole.h
index 7349ff1d8f1f6f47cb7bc35baf60e5e12d3e8001..dc166699b6d8914934cb813111410a44ef89d4ca 100644
--- a/indra/newview/llfloaternotificationsconsole.h
+++ b/indra/newview/llfloaternotificationsconsole.h
@@ -35,7 +35,9 @@
 
 #include "llfloater.h"
 #include "lllayoutstack.h"
-#include "llnotifications.h"
+//#include "llnotifications.h"
+
+class LLNotification;
 
 class LLFloaterNotificationConsole : 
 	public LLFloater
diff --git a/indra/newview/llfloatersellland.cpp b/indra/newview/llfloatersellland.cpp
index 2d8ccd1aef743a4e8f18d5382b660922310fabe8..b09e936cbb953d83abc1d4a39ec50788bd2d76ee 100644
--- a/indra/newview/llfloatersellland.cpp
+++ b/indra/newview/llfloatersellland.cpp
@@ -37,6 +37,7 @@
 #include "llfloaterreg.h"
 #include "llfloaterland.h"
 #include "lllineeditor.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llparcel.h"
 #include "llselectmgr.h"
diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp
index d85ac477e19d1ef4014f7b8c85e992c663da484d..443a59832f22e1c91117c9e1ebe3850c0792d9b8 100644
--- a/indra/newview/llgesturemgr.cpp
+++ b/indra/newview/llgesturemgr.cpp
@@ -42,6 +42,7 @@
 #include "lldatapacker.h"
 #include "llinventory.h"
 #include "llmultigesture.h"
+#include "llnotifications.h"
 #include "llstl.h"
 #include "llstring.h"	// todo: remove
 #include "llvfile.h"
diff --git a/indra/newview/llimhandler.cpp b/indra/newview/llimhandler.cpp
index c081af587938c392a3c556ffe932919c972a3bf7..1cbd273e96aaf475b3805393d32ca96fd5433d18 100644
--- a/indra/newview/llimhandler.cpp
+++ b/indra/newview/llimhandler.cpp
@@ -36,6 +36,7 @@
 #include "llnotificationhandler.h"
 
 #include "llagentdata.h"
+#include "llnotifications.h"
 #include "lltoastimpanel.h"
 #include "llviewerwindow.h"
 
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index c066f1f77ac27b20140ff4baaa52d3ba28f9d80b..170c49c800f8d97b3cf2095cc3a59b8071b81725 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -70,6 +70,7 @@
 #include "lltoolbar.h"
 #include "llviewermessage.h"
 #include "llviewerwindow.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llviewerregion.h"
 #include "llvoicechannel.h"
diff --git a/indra/newview/llnotificationgrouphandler.cpp b/indra/newview/llnotificationgrouphandler.cpp
index b7466ec6d4f199e8a72b3b642e2a8d53dff0ebed..2e7f95660a48e966c3fcb8929607635d79abb825 100644
--- a/indra/newview/llnotificationgrouphandler.cpp
+++ b/indra/newview/llnotificationgrouphandler.cpp
@@ -38,6 +38,7 @@
 #include "llviewercontrol.h"
 #include "llviewerwindow.h"
 #include "llnotificationmanager.h"
+#include "llnotifications.h"
 
 using namespace LLNotificationsUI;
 
diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h
index 42cc7cacc238e5e38a6c8619e3f2973981e1ca30..4a1e192cbc4d882b9ed52e81f5f350aa8aa2dc32 100644
--- a/indra/newview/llnotificationhandler.h
+++ b/indra/newview/llnotificationhandler.h
@@ -36,7 +36,7 @@
 
 #include "llwindow.h"
 
-#include "llnotifications.h"
+//#include "llnotifications.h"
 #include "llchannelmanager.h"
 #include "llchat.h"
 
diff --git a/indra/newview/llnotificationmanager.cpp b/indra/newview/llnotificationmanager.cpp
index 1083cf3634be72326ebbd7d2c6b6a1471483c2fd..252e860fa65b0e2993142cf2a88337d74b1c4050 100644
--- a/indra/newview/llnotificationmanager.cpp
+++ b/indra/newview/llnotificationmanager.cpp
@@ -36,7 +36,9 @@
 
 
 #include "llnotificationmanager.h"
+
 #include "llnearbychathandler.h"
+#include "llnotifications.h"
 
 #include "boost/bind.hpp"
 
diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp
index 0a595765a92f582ff62968a1c45003e708fe0c73..45b5e8847255783bc4235ca60fe0876190f3135a 100644
--- a/indra/newview/llnotificationofferhandler.cpp
+++ b/indra/newview/llnotificationofferhandler.cpp
@@ -40,6 +40,7 @@
 #include "llimview.h"
 #include "llimfloater.h"
 #include "llnotificationmanager.h"
+#include "llnotifications.h"
 
 using namespace LLNotificationsUI;
 
diff --git a/indra/newview/llnotificationscripthandler.cpp b/indra/newview/llnotificationscripthandler.cpp
index f01f2e44414448be4674754f9e039ab40dd9ea93..471c254bbc5ebd08ff0f6c1063c31c4cf0eab15c 100644
--- a/indra/newview/llnotificationscripthandler.cpp
+++ b/indra/newview/llnotificationscripthandler.cpp
@@ -38,6 +38,7 @@
 #include "llviewercontrol.h"
 #include "llviewerwindow.h"
 #include "llnotificationmanager.h"
+#include "llnotifications.h"
 #include "llscriptfloater.h"
 
 using namespace LLNotificationsUI;
diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp
index b962fa218401d820afd6d1ce81c758ca9e3bc7aa..95f5ec801c454c1f382351b193cc3d450fcd8a34 100644
--- a/indra/newview/llnotificationtiphandler.cpp
+++ b/indra/newview/llnotificationtiphandler.cpp
@@ -36,6 +36,7 @@
 #include "llfloaterreg.h"
 #include "llnearbychat.h"
 #include "llnotificationhandler.h"
+#include "llnotifications.h"
 #include "lltoastnotifypanel.h"
 #include "llviewercontrol.h"
 #include "llviewerwindow.h"
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp
index 7b5b232ad23e18ed911ece5b825ddbbae31afab3..32e094ad6a20e390bd773a0bd632b252bd33e710 100644
--- a/indra/newview/llpanelgrouproles.cpp
+++ b/indra/newview/llpanelgrouproles.cpp
@@ -42,6 +42,7 @@
 #include "lliconctrl.h"
 #include "lllineeditor.h"
 #include "llnamelistctrl.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llpanelgrouproles.h"
 #include "llscrolllistctrl.h"
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 78f3469f0e767585a9b150e34b09241b61b2b5d1..2f24a6e6f51d0eef485e978e3c4c0c0901c3ec1f 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -51,6 +51,7 @@
 #include "llfloaterpreference.h"
 #include "llfocusmgr.h"
 #include "lllineeditor.h"
+#include "llnotifications.h"
 #include "llstartup.h"
 #include "lltextbox.h"
 #include "llui.h"
diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp
index 3d2c529dda6e29a11c3d439024d0647d0e3c3dbe..7294b63dacf0aae6b97c50220eceef256ffeee0c 100644
--- a/indra/newview/llpreviewgesture.cpp
+++ b/indra/newview/llpreviewgesture.cpp
@@ -43,6 +43,7 @@
 #include "lldir.h"
 #include "llfloaterreg.h"
 #include "llmultigesture.h"
+#include "llnotifications.h"
 #include "llvfile.h"
 
 // newview
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index ce81077d802fd492160a51bd7c3f1de59f13c200..b51f7929e3c05a196bc82bb4a6f7ccaf727de4b0 100644
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -43,6 +43,7 @@
 #include "llfloaterreg.h"
 #include "llinventorymodel.h"
 #include "lllineeditor.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llresmgr.h"
 #include "roles_constants.h"
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 4e4711f8fbdd9729cc72a9ff6065b227d8b4ab6c..fcf952a3235c960d2b7bbee31745e2d3d4b8f46b 100644
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -45,7 +45,7 @@
 #include "llkeyboard.h"
 #include "lllineeditor.h"
 #include "llhelp.h"
-
+#include "llnotifications.h"
 #include "llresmgr.h"
 #include "llscrollbar.h"
 #include "llscrollcontainer.h"
diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp
index bdea6ff45944cafea6f4a40c786b4c8b9cdb91f0..c58caf9c60991504278e37b15a41b01c31b9decb 100644
--- a/indra/newview/llscriptfloater.cpp
+++ b/indra/newview/llscriptfloater.cpp
@@ -37,6 +37,7 @@
 #include "llchannelmanager.h"
 #include "llchiclet.h"
 #include "llfloaterreg.h"
+#include "llnotifications.h"
 #include "llscreenchannel.h"
 #include "lltoastnotifypanel.h"
 #include "llviewerwindow.h"
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index d36ff1605e98bdde8174ee136c1e1734ee281786..2da4a16438694e1a8cbb55feb1397941d3934e7b 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -66,6 +66,7 @@
 #include "llmemorystream.h"
 #include "llmessageconfig.h"
 #include "llmoveview.h"
+#include "llnotifications.h"
 #include "llteleporthistory.h"
 #include "llregionhandle.h"
 #include "llsd.h"
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index b649a0c38ebd45243f9dea3073b3d1f534dfec43..1e33a6cea6fafa584bd707eb538dd0ffaee743b5 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -72,12 +72,14 @@
 #include "llfocusmgr.h"
 #include "llappviewer.h"
 #include "lltrans.h"
+
 // library includes
 #include "imageids.h"
 #include "llfloaterreg.h"
 #include "llfontgl.h"
 #include "llrect.h"
 #include "llerror.h"
+#include "llnotifications.h"
 #include "llparcel.h"
 #include "llstring.h"
 #include "message.h"
diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp
index ed2cedbd10d13f6bba0080bb4c119dab2395e5e4..f7240326fc2f04588109097e90997098274a9ca9 100644
--- a/indra/newview/lltoast.cpp
+++ b/indra/newview/lltoast.cpp
@@ -36,6 +36,7 @@
 
 #include "llbutton.h"
 #include "llfocusmgr.h"
+#include "llnotifications.h"
 #include "llviewercontrol.h"
 
 using namespace LLNotificationsUI;
diff --git a/indra/newview/lltoast.h b/indra/newview/lltoast.h
index b670f470452d4b1b1b38b5fbc07c7ab5fe97e342..769b2ba122915e7268db888b03416d0215191908 100644
--- a/indra/newview/lltoast.h
+++ b/indra/newview/lltoast.h
@@ -37,7 +37,7 @@
 #include "llpanel.h"
 #include "llmodaldialog.h"
 #include "lltimer.h"
-#include "llnotifications.h"
+#include "llnotificationptr.h"
 
 #include "llviewercontrol.h"
 
diff --git a/indra/newview/lltoastalertpanel.h b/indra/newview/lltoastalertpanel.h
index 840143a2a933e388e3f92463adc151710fa434ce..38a635e8a452d78d66ab88b63c8b7a22503e5bc8 100644
--- a/indra/newview/lltoastalertpanel.h
+++ b/indra/newview/lltoastalertpanel.h
@@ -40,7 +40,7 @@
 #include "lltoastpanel.h"
 #include "llfloater.h"
 #include "llui.h"
-#include "llnotifications.h"
+#include "llnotificationptr.h"
 #include "llalertdialog.h"
 
 class LLButton;
diff --git a/indra/newview/lltoastgroupnotifypanel.cpp b/indra/newview/lltoastgroupnotifypanel.cpp
index d1bdcb13543da05606a3bd8867331aa842411312..aca8539c17a442106b79edddfd8affc86159047d 100644
--- a/indra/newview/lltoastgroupnotifypanel.cpp
+++ b/indra/newview/lltoastgroupnotifypanel.cpp
@@ -39,6 +39,7 @@
 #include "llbutton.h"
 #include "lliconctrl.h"
 #include "llinventoryfunctions.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llviewertexteditor.h"
 
diff --git a/indra/newview/lltoastgroupnotifypanel.h b/indra/newview/lltoastgroupnotifypanel.h
index e3d0ef45cba131292dea9f7b7f5cd7f83f42011d..4879000e8c22f6810ea361cc223cc14473fed229 100644
--- a/indra/newview/lltoastgroupnotifypanel.h
+++ b/indra/newview/lltoastgroupnotifypanel.h
@@ -38,7 +38,7 @@
 #include "lldarray.h"
 #include "lltimer.h"
 #include "llviewermessage.h"
-#include "llnotifications.h"
+#include "llnotificationptr.h"
 
 class LLButton;
 
diff --git a/indra/newview/lltoastimpanel.cpp b/indra/newview/lltoastimpanel.cpp
index 9040bdb41ab41f9c75fc9c7ac6cf5090340e46c6..f928b5f243b5dc840b1ad22b9824863234f5394f 100644
--- a/indra/newview/lltoastimpanel.cpp
+++ b/indra/newview/lltoastimpanel.cpp
@@ -33,6 +33,8 @@
 #include "llviewerprecompiledheaders.h"
 #include "lltoastimpanel.h"
 
+#include "llnotifications.h"
+
 const S32 LLToastIMPanel::DEFAULT_MESSAGE_MAX_LINE_COUNT	= 6;
 
 //--------------------------------------------------------------------------
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index 699424ef361c577619858cf91fe4138a632c8b61..6b9bff7b9e57ecd993e698337c35344897db803b 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -33,7 +33,12 @@
 #include "llviewerprecompiledheaders.h"
 
 #include "lltoastnotifypanel.h"
+
+// project includes
 #include "llviewercontrol.h"
+
+// library includes
+#include "llnotifications.h"
 #include "lluiconstants.h"
 #include "llrect.h"
 #include "lltrans.h"
diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h
index eea70705ec1abf0dc50a5e9fc1f7ef2b012172a9..04525387b36359be42ec895a927ece4a1f3b3ae6 100644
--- a/indra/newview/lltoastnotifypanel.h
+++ b/indra/newview/lltoastnotifypanel.h
@@ -35,13 +35,14 @@
 
 #include "llpanel.h"
 #include "llfontgl.h"
-#include "llnotifications.h"
+#include "llnotificationptr.h"
 #include "llbutton.h"
 #include "lltoastpanel.h"
 #include "lliconctrl.h"
 #include "lltexteditor.h"
 #include "lltextbox.h"
 
+class LLNotificationForm;
 
 /**
  * Toast panel for notification.
@@ -68,7 +69,7 @@ class LLToastNotifyPanel: public LLToastPanel
 
 private:
 
-	void adjustPanelForScriptNotice(const LLNotificationFormPtr form);
+	void adjustPanelForScriptNotice(const boost::shared_ptr<LLNotificationForm> form);
 	void adjustPanelForTipNotice();
 
 	// panel elements
diff --git a/indra/newview/lltoastpanel.cpp b/indra/newview/lltoastpanel.cpp
index ef75e060474be19af5908730711abd9f646455da..afb9e261b0f4093b00b1c710a9d142ad66f5a2a1 100644
--- a/indra/newview/lltoastpanel.cpp
+++ b/indra/newview/lltoastpanel.cpp
@@ -34,6 +34,8 @@
 
 #include "lltoastpanel.h"
 
+#include "llnotifications.h"
+
 //static
 const S32 LLToastPanel::MIN_PANEL_HEIGHT = 40; // VPAD(4)*2 + ICON_HEIGHT(32)
 
@@ -46,12 +48,19 @@ LLToastPanel::~LLToastPanel()
 {
 }
 
+//virtual
 std::string LLToastPanel::getTitle()
 {
 	// *TODO: create Title and localize it. If it will be required.
 	return mNotification->getMessage();
 }
 
+//virtual
+const LLUUID& LLToastPanel::getID()
+{
+	return mNotification->id();
+}
+
 //snap to the message height if it is visible
 void LLToastPanel::snapToMessageHeight(LLTextBase* message, S32 maxLineCount)
 {
diff --git a/indra/newview/lltoastpanel.h b/indra/newview/lltoastpanel.h
index a88127b00800acc6d130f5a33c9c75f5a62c209b..f1dd7d7a867a1f3cd26e99691b12483bfb6321dd 100644
--- a/indra/newview/lltoastpanel.h
+++ b/indra/newview/lltoastpanel.h
@@ -35,7 +35,7 @@
 
 #include "llpanel.h"
 #include "lltextbox.h"
-#include "llnotifications.h"
+#include "llnotificationptr.h"
 
 #include <string>
 
@@ -57,7 +57,7 @@ class LLToastPanel: public LLPanel {
 	virtual ~LLToastPanel() = 0;
 
 	virtual std::string getTitle();
-	virtual const LLUUID& getID() { return mNotification->id();}
+	virtual const LLUUID& getID();
 
 	static const S32 MIN_PANEL_HEIGHT;
 protected:
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index fbd86d0edfc8c2f35773db0345723fc263b7c860..7500cb52c811945e0fc8de9ad25a2e2c2a50abc1 100644
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -35,10 +35,13 @@
 #include "message.h"
 #include "lltooldraganddrop.h"
 
+// library headers
 #include "llfloaterreg.h"
 #include "llinstantmessage.h"
 #include "lldir.h"
+#include "llnotifications.h"
 
+// project headers
 #include "llagent.h"
 #include "llagentwearables.h"
 #include "llviewercontrol.h"
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index 87d256b60a94f1231928d90d7ff6d5466c160b57..99fc29531c2b5f8e635aba1bbc616f7196d46fa1 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -33,6 +33,7 @@
 #include "llviewerprecompiledheaders.h"
 #include "llviewerinventory.h"
 
+#include "llnotifications.h"
 #include "message.h"
 #include "indra_constants.h"
 
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 8bcf2c62815445a9f8b449c8ed73b1514375ca48..9f34e899386df1be85571d4bc0f786b11dd351ea 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -51,6 +51,7 @@
 #include "llfontgl.h"
 #include "llinstantmessage.h"
 #include "llinventorypanel.h"
+#include "llnotifications.h"
 #include "llpermissionsflags.h"
 #include "llrect.h"
 #include "llsecondlifeurls.h"
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index fcaf49c88493951764f08045512741d3a067e395..cc1306e8c7c91296a98c6fc328f9c1216681acea 100644
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -39,6 +39,7 @@
 #include "indra_constants.h"
 #include "llcachename.h"
 #include "llgl.h"
+#include "llnotifications.h"
 #include "llparcel.h"
 #include "llsecondlifeurls.h"
 #include "message.h"
diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp
index 6f8818be6e4083e7c9b03cc2991b482e50748921..5ed9e0f1e493edb988a31b7943207d467d544004 100644
--- a/indra/newview/llviewertexteditor.cpp
+++ b/indra/newview/llviewertexteditor.cpp
@@ -50,6 +50,7 @@
 #include "llmemorystream.h"
 #include "llmenugl.h"
 #include "llnotecard.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llpanelplaces.h"
 #include "llpreview.h"
diff --git a/indra/newview/llwearablelist.cpp b/indra/newview/llwearablelist.cpp
index 9bde85dcaf8629984c6d552d20878815e3fe3a15..2ca0c40beba812ac94ee710bee0f6d7bd801bb34 100644
--- a/indra/newview/llwearablelist.cpp
+++ b/indra/newview/llwearablelist.cpp
@@ -40,6 +40,7 @@
 #include "llvoavatar.h"
 #include "llviewerinventory.h"
 #include "llviewerstats.h"
+#include "llnotifications.h"
 #include "llnotify.h"
 #include "llinventorymodel.h"
 #include "lltrans.h"