diff --git a/chatdialog.cpp b/chatdialog.cpp
index e118969..031189e 100644
--- a/chatdialog.cpp
+++ b/chatdialog.cpp
@@ -14,7 +14,7 @@
 static const int HELLO_INTERVAL = 90;  // seconds
 
 ChatDialog::ChatDialog(QWidget *parent)
-  : QDialog(parent), m_sock(NULL), m_lastMsgTime(0)
+  : QDialog(parent), m_sock(NULL), m_lastMsgTime(0), m_sendJoin(true)
 {
   // have to register this, otherwise
   // the signal-slot system won't recognize this type
@@ -473,11 +473,12 @@
 {
   time_t now = time(NULL);
   int elapsed = now - m_lastMsgTime;
-  if (elapsed >= m_randomizedInterval / 1000)
+  if (elapsed >= m_randomizedInterval / 1000 || m_sendJoin)
   {
     SyncDemo::ChatMessage msg;
     formHelloMessage(msg);
     sendMsg(msg);
+    m_sendJoin = false;
     QTimer::singleShot(m_randomizedInterval, this, SLOT(sendHello()));
   }
   else
@@ -526,6 +527,9 @@
       m_scene->clearAll();
       m_scene->plot("Empty");
     }
+
+    textEdit->clear();
+
     // TODO: perhaps need to do a lot. e.g. use a new SyncAppSokcet
     if (m_sock != NULL) 
     {
@@ -538,6 +542,7 @@
     try
     {
       m_sock = new Sync::SyncAppSocket(syncPrefix, bind(&ChatDialog::processTreeUpdateWrapper, this, _1, _2), bind(&ChatDialog::processRemoveWrapper, this, _1));
+      m_sendJoin = true;
       sendHello();
       m_timer->start(FRESHNESS * 2000);
     }
