    this._messages = [];
    this.changeTargetTo(aPrplConversation);
    let iface = Ci["prplIConv" + (aPrplConversation.isChat ? "Chat" : "IM")];
-@@ -271,16 +280,23 @@ UIConversation.prototype = {
+@@ -271,40 +320,63 @@ UIConversation.prototype = {
    },
  
    observeConv: function(aTargetId, aSubject, aTopic, aData) {

diff --git a/chat/components/src/imConversations.js b/chat/components/src/imConversations.js
--- a/chat/components/src/imConversations.js
+++ b/chat/components/src/imConversations.js
@@ -10,16 +10,25 @@ Cu.import("resource:///modules/jsProtoHe
 
 var gLastUIConvId = 0;
 var gLastPrplConvId = 0;

           this._prplConv[aTargetId].typingState == Ci.prplIConvIM.TYPING)))
       this.target = this._prplConv[aTargetId];
+
     this.notifyObservers(aSubject, aTopic, aData);
-    if (aTopic == "new-text") {
-      Services.obs.notifyObservers(aSubject, aTopic, aData);
-      if (aSubject.incoming && !aSubject.system &&
-          (!this.isChat || aSubject.containsNick)) {
-        this.notifyObservers(aSubject, "new-directed-incoming-message", aData);
-        Services.obs.notifyObservers(aSubject, "new-directed-incoming-message", aData);
-      }
-    }
   },
 
   systemMessage: function(aText, aIsError) {
     let flags = {system: true, noLog: true, error: !!aIsError};
     (new Message("system", aText, flags)).conversation = this;
   },
 
   // prplIConversation
   get isChat() this.target.isChat,
