diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp
index 6e641575fa913ffe11e53fbfe907db4fd14236bc..8b7cac9f4b3c0ebd28d0dd72408823ece34918eb 100644
--- a/indra/newview/llnotificationofferhandler.cpp
+++ b/indra/newview/llnotificationofferhandler.cpp
@@ -117,6 +117,23 @@ bool LLOfferHandler::processNotification(const LLNotificationPtr& notification)
 			LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get());
 			if(channel)
 				channel->addToast(p);
+
+            bool playSound = true;
+
+            //Play notification sound for inventory offer and teleport offer based upon chat preference
+            if((notification->getName() == "UserGiveItem"
+                && gSavedSettings.getBOOL("PlaySoundInventoryOffer") == FALSE)
+                ||  notification->getName() == "TeleportOffered"
+                && gSavedSettings.getBOOL("PlaySoundTeleportOffer") == FALSE)
+            {
+                playSound = false;
+            }
+
+            if(playSound)
+            {
+                notification->playSound();
+            }
+
 		}
 
 		if (notification->canLogToIM())
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index 8672dc479d6d0b5ddda494081715ff3de7623777..844d7314d97a39eb414b9fcedb81744f81c8abba 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -494,20 +494,7 @@ void LLToastNotifyPanel::init( LLRect rect, bool show_images )
 	// adjust panel's height to the text size
 	snapToMessageHeight(mTextBox, MAX_LENGTH);
 
-    bool playSound = true;
-
-    if((mNotification->getName() == "UserGiveItem"
-            && gSavedSettings.getBOOL("PlaySoundInventoryOffer") == FALSE)
-        ||  mNotification->getName() == "TeleportOffered"
-            && gSavedSettings.getBOOL("PlaySoundTeleportOffer") == FALSE)
-    {
-        playSound = false;
-    }
-
-    if(playSound)
-    {
-        mNotification->playSound();
-    }
+
 }