Index: /home/wwwchrisde/svn/konversation/src/konversationmainwindow.cpp
===================================================================
--- /home/wwwchrisde/svn/konversation/src/konversationmainwindow.cpp	(revision 501742)
+++ /home/wwwchrisde/svn/konversation/src/konversationmainwindow.cpp	(revision 501743)
@@ -972,6 +972,7 @@
     addView(query, name, weinitiated);
 
     connect(query, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)), this, SLOT(setTabNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+    connect(query, SIGNAL(updateQueryChrome(ChatWindow*, const QString &)), this, SLOT(updateQueryChrome(ChatWindow*, const QString &)));
     connect(server, SIGNAL(awayState(bool)), query, SLOT(indicateAway(bool)));
 
     return query;
@@ -1330,6 +1331,27 @@
     }
 }
 
+void KonversationMainWindow::updateChannelInfo(const QString &info)
+{
+    QString tabInfo = Konversation::removeIrcMarkup(info);
+    m_channelInfoLabel->setText(tabInfo);
+}
+
+void KonversationMainWindow::updateQueryChrome(ChatWindow* view, const QString& name)
+{
+    //FIXME: updateQueryChrome is a last minute fix for 0.19 because
+    // the updateInfo mess is indecipherable. Replace with a sane and
+    // encompassing system.
+
+    QString newName = Konversation::removeIrcMarkup(name);
+
+    if (!newName.isEmpty() && getViewContainer()->tabLabel(view) != newName)
+        getViewContainer()->setTabLabel(view,newName);
+
+    if (!newName.isEmpty() && view==m_frontView)
+        setCaption(newName);
+}
+
 void KonversationMainWindow::changeView(QWidget* viewToChange)
 {
     ChatWindow* view = static_cast<ChatWindow*>(viewToChange);
@@ -1922,12 +1944,6 @@
     }
 }
 
-void KonversationMainWindow::updateChannelInfo(const QString &info)
-{
-    QString tabInfo = Konversation::removeIrcMarkup(info);
-    m_channelInfoLabel->setText(tabInfo);
-}
-
 void KonversationMainWindow::showJoinChannelDialog()
 {
     if(!frontServer)
Index: /home/wwwchrisde/svn/konversation/src/query.cpp
===================================================================
--- /home/wwwchrisde/svn/konversation/src/query.cpp	(revision 501742)
+++ /home/wwwchrisde/svn/konversation/src/query.cpp	(revision 501743)
@@ -450,6 +450,8 @@
         addresseeimage->hide();
         addresseelogoimage->hide();
     }
+
+    emit updateQueryChrome(this,getName());
     emitUpdateInfo();
 }
 
Index: /home/wwwchrisde/svn/konversation/src/query.h
===================================================================
--- /home/wwwchrisde/svn/konversation/src/query.h	(revision 501742)
+++ /home/wwwchrisde/svn/konversation/src/query.h	(revision 501743)
@@ -70,6 +70,7 @@
 
     signals:
         void sendFile(const QString& recipient);
+        void updateQueryChrome(ChatWindow*, const QString&);
 
     public slots:
         void sendQueryText(const QString& text);
Index: /home/wwwchrisde/svn/konversation/src/konversationmainwindow.h
===================================================================
--- /home/wwwchrisde/svn/konversation/src/konversationmainwindow.h	(revision 501742)
+++ /home/wwwchrisde/svn/konversation/src/konversationmainwindow.h	(revision 501743)
@@ -202,6 +202,7 @@
         void insertChar(const QChar& chr);
 
         void updateChannelInfo(const QString& info);
+        void updateQueryChrome(ChatWindow* view, const QString& name);
 
         void showJoinChannelDialog();