if(msg.type() == Message::Plain || msg.type() == Message::Notice)
     level |= BufferItem::NewMessage;
 
+
   const Network *net = Client::network(msg.bufferInfo().networkId());
-  if(net && (msg.type() == Message::Plain || msg.type() == Message::Notice || msg.type() == Message::Action) && msg.text().contains(net->myNick()))
-    level |= BufferItem::Highlight;
+  if(net) {
+    QRegExp nickRegExp("^(.*\\W)?"+net->myNick()+"(\\W.*)?$");
+    if((msg.type() == Message::Plain || msg.type() == Message::Notice || msg.type() == Message::Action) && nickRegExp.exactMatch(msg.text()))
+      level |= BufferItem::Highlight;
+  }
 
   bufferItem(msg.bufferInfo())->updateActivity(level);
 }