diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp
index 604092d5368b771f92c5b4a9929a07fe6c6b9a5c..c364c4d5aee4b52d72372b929eb901f7c5953bfb 100644
--- a/indra/llui/llnotifications.cpp
+++ b/indra/llui/llnotifications.cpp
@@ -426,6 +426,7 @@ LLNotificationTemplate::LLNotificationTemplate(const LLNotificationTemplate::Par
 	mLogToChat(p.log_to_chat),
 	mLogToIM(p.log_to_im),
 	mShowToast(p.show_toast),
+	mFadeToast(p.fade_toast),
     mSoundName("")
 {
 	if (p.sound.isProvided()
@@ -942,6 +943,11 @@ bool LLNotification::canShowToast() const
 	return mTemplatep->mShowToast;
 }
 
+bool LLNotification::canFadeToast() const
+{
+	return mTemplatep->mFadeToast;
+}
+
 bool LLNotification::hasFormElements() const
 {
 	return mTemplatep->mForm->getNumElements() != 0;
diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h
index 024332ee65c66fd624aa439ebdd4b68e6bd38c81..4a701d0ca7cac066d1cdf38087220fcc1b5d39ff 100644
--- a/indra/llui/llnotifications.h
+++ b/indra/llui/llnotifications.h
@@ -558,6 +558,7 @@ friend class LLNotifications;
 	bool canLogToChat() const;
 	bool canLogToIM() const;
 	bool canShowToast() const;
+	bool canFadeToast() const;
 	bool hasFormElements() const;
     void playSound();
 
diff --git a/indra/llui/llnotificationtemplate.h b/indra/llui/llnotificationtemplate.h
index bed29254d8fa532416a4878b21361e295a16a3d0..20cbc89ede6f5916f06297b32552f3749a5bb800 100644
--- a/indra/llui/llnotificationtemplate.h
+++ b/indra/llui/llnotificationtemplate.h
@@ -177,6 +177,7 @@ struct LLNotificationTemplate
 		Optional<bool>					persist,
 										log_to_im,
 										show_toast,
+										fade_toast,
 										log_to_chat,
 										force_urls_external;
 		Optional<std::string>			functor,
@@ -199,6 +200,7 @@ struct LLNotificationTemplate
 		Params()
 		:	name("name"),
 			persist("persist", false),
+			fade_toast("fade_toast", true),
 			log_to_im("log_to_im", false),
 			show_toast("show_toast", true),
 			log_to_chat("log_to_chat", true),
@@ -316,6 +318,7 @@ struct LLNotificationTemplate
 	bool mLogToChat;
 	bool mLogToIM;
 	bool mShowToast;
+	bool mFadeToast;
 };
 
 #endif //LL_LLNOTIFICATION_TEMPLATE_H
diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp
index 63ab88da425fb60f729cd3886ba32cce945cce0f..14d25d81582685e199990be050608558645264c4 100644
--- a/indra/newview/llnotificationofferhandler.cpp
+++ b/indra/newview/llnotificationofferhandler.cpp
@@ -131,6 +131,7 @@ bool LLOfferHandler::processNotification(const LLNotificationPtr& notification)
 			// we not save offer notifications to the syswell floater that should be added to the IM floater
 			p.can_be_stored = !add_notif_to_im;
 			p.force_show = notification->getOfferFromAgent();
+			p.can_fade = notification->canFadeToast();
 
 			LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get());
 			if(channel)
diff --git a/indra/newview/llnotificationscripthandler.cpp b/indra/newview/llnotificationscripthandler.cpp
index 7acb2f9e906e77b0b3bfe07f8e8254b2ff559680..fef0631fa6c3b8de4860be354b0a24dfb9cd645b 100644
--- a/indra/newview/llnotificationscripthandler.cpp
+++ b/indra/newview/llnotificationscripthandler.cpp
@@ -77,6 +77,7 @@ void LLScriptHandler::addToastWithNotification(const LLNotificationPtr& notifica
 	p.notification = notification;
 	p.panel = notify_box;
 	p.on_delete_toast = boost::bind(&LLScriptHandler::onDeleteToast, this, _1);
+	p.can_fade = notification->canFadeToast();
 	if(gAgent.isDoNotDisturb())
 	{ 
 		p.force_show = notification->getName() == "SystemMessage" 
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 8620c09f9a3be14467bfd484c8930649226b42d4..91f3b7456f5ede90a422199deeac38968f9f1f26 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -7527,6 +7527,7 @@ Your object named &lt;nolink&gt;[OBJECTFROMNAME]&lt;/nolink&gt; has given you th
    name="TeleportOffered"
    log_to_im="true"
    log_to_chat="false"
+   fade_toast="false"
    type="offer"
    sound="UISndNewIncomingIMSession">
 [NAME_SLURL] has offered to teleport you to their location:
@@ -7602,6 +7603,7 @@ However, this region contains content accessible to adults only.
    icon="notify.tga"
    name="TeleportRequest"
    log_to_im="true"
+   fade_toast="false"
    type="offer">
 [NAME_SLURL] is requesting to be teleported to your location.
 [MESSAGE]
@@ -7958,6 +7960,7 @@ Other Key Experiences may be available.
    icon="notify.tga"
    name="ScriptQuestionExperience"
    persist="false"
+   fade_toast="false"
    type="notify">
 &apos;&lt;nolink&gt;[OBJECTNAME]&lt;/nolink&gt;&apos;, an object owned by &apos;[NAME]&apos;, requests your participation in the [GRID_WIDE] experience: