diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp
index 08b93ead40a20ca119b87781f0c9f46a08d8510f..487a2e5fe7c6df5ae1d48ba8c8f3b5e189972e6f 100644
--- a/indra/llui/llnotifications.cpp
+++ b/indra/llui/llnotifications.cpp
@@ -1067,9 +1067,9 @@ bool LLNotificationChannelBase::updateItem(const LLSD& payload, LLNotificationPt
 		// if we have it in our list, pass on the delete, then delete it, else do nothing
 		if (wasFound)
 		{
-			mItems.erase(pNotification);
 			onDelete(pNotification);
 			abortProcessing = mChanged(payload);
+			mItems.erase(pNotification);
 		}
 	}
 	return abortProcessing;