diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp
index e53f345abaf9265bfb4348750839dfcd05238c2b..265ecdeae47353dfb7813586c20f0cc58a8d36b9 100644
--- a/indra/newview/llcallingcard.cpp
+++ b/indra/newview/llcallingcard.cpp
@@ -663,6 +663,11 @@ void LLAvatarTracker::processChange(LLMessageSystem* msg)
 						LLNotifications::instance().add(LLRelationship::GRANT_MAP_LOCATION & new_rights
 							? "GrantedMapRights" : "RevokedMapRights", args, payload);
 					}
+                    if (change & LLRelationship::GRANT_ONLINE_STATUS)
+                    {
+                        LLNotifications::instance().add(LLRelationship::GRANT_ONLINE_STATUS & new_rights
+							? "GrantedOnlineStatus" : "RevokedOnlineStatus", args, payload);
+                    }
 				}
 				buddy_it->second->setRightsFrom(new_rights);
 			}
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index dc7f03eea1694842fc98845bfcbef3bb1f99e553..169c350382b6b854873f60bb1e271dabc2d04c9a 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -7098,6 +7098,7 @@ void process_script_dialog(LLMessageSystem* msg, void**)
 	LLSD args;
 	args["TITLE"] = object_name;
 	args["MESSAGE"] = message;
+    args["CHANNEL"] = chat_channel;
 	LLNotificationPtr notification;
 	if (!first_name.empty())
 	{
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index c87f7264491b05d3e62e40887da01a2fe1f8a4bc..586807e2cf1b1ea05d527a1861ed199c1ed799c3 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -8320,7 +8320,7 @@ Do not allow access if you do not fully understand why it wants access to your a
    name="ScriptDialog"
    show_toast="false"
    type="notify">
-[NAME]'s '<nolink>[TITLE]</nolink>'
+[NAME]'s '<nolink>[TITLE]</nolink>' on channel [CHANNEL]
 [MESSAGE]
     <form name="form">
       <button
@@ -12598,6 +12598,23 @@ Your privilege to find [NAME]&apos;s map location has been revoked.
     type="notify">
 [NAME] has given you permission to find their location on the map.
   </notification>
+
+  <notification
+    icon="alertmodal.tga"
+    name="RevokedOnlineStatus"
+    persist="true"
+    log_to_im="true"
+    type="notify">
+Your privilege to see [NAME]&apos;s online status has been revoked. Very sneaky!
+  </notification>
+  <notification
+    icon="alertmodal.tga"
+    name="GrantedOnlineStatus"
+    persist="true"
+    log_to_im="true"
+    type="notify">
+[NAME] has given you permission to see their online status.
+  </notification>
   
   <notification
     icon="alertmodal.tga"