diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 07a439e6967baab28af22f2bf94f54b3d91ec0dd..1e0ec7f05b95eabd34b5f616aeca5ea70be3a3c7 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -3705,7 +3705,16 @@ void LLAgent::handleTeleportFailed()
 	{
 		mFailedTeleportRequest = mCurrentTeleportRequest;
 	}
-	mIsMaturityRatingChangingDuringTeleport = false;
+	if (mIsMaturityRatingChangingDuringTeleport)
+	{
+		// notify user that the maturity preference has been changed
+		std::string maturityRating = LLViewerRegion::accessToString(mMaturityRatingChange);
+		LLStringUtil::toLower(maturityRating);
+		LLSD args;
+		args["RATING"] = maturityRating;
+		LLNotificationsUtil::add("PreferredMaturityChanged", args);
+		mIsMaturityRatingChangingDuringTeleport = false;
+	}
 }
 
 void LLAgent::teleportRequest(