diff --git a/chatdialog.cpp b/chatdialog.cpp
index 4a3e59f..e325d6b 100644
--- a/chatdialog.cpp
+++ b/chatdialog.cpp
@@ -178,6 +178,7 @@
   // update the tree view
   std::string prefix = name.toStdString().substr(0, name.toStdString().find_last_of('/'));
   m_scene->msgReceived(prefix.c_str(), msg.from().c_str());
+  fitView();
 }
 
 void
@@ -263,7 +264,14 @@
     abort();
   }
   m_sock->publishRaw(m_user.getPrefix().toStdString(), m_session, buf, size, 60);
-  
+
+  int nextSequence = m_sock->getNextSeq(m_user.getPrefix().toStdString(), m_session);
+  Sync::MissingDataInfo mdi = {m_user.getPrefix().toStdString(), Sync::SeqNo(0), Sync::SeqNo(nextSequence)};
+  std::vector<Sync::MissingDataInfo> v;
+  v.push_back(mdi);
+  m_scene->processUpdate(v, m_sock->getRootDigest().c_str());
+  m_scene->msgReceived(m_user.getPrefix(), m_user.getNick());
+  fitView();
 }
 
 void
diff --git a/digesttreescene.cpp b/digesttreescene.cpp
index 82ad890..35df071 100644
--- a/digesttreescene.cpp
+++ b/digesttreescene.cpp
@@ -153,14 +153,14 @@
   QRectF rootInnerBoundingRect(rim, rim, nodeSize - rim * 2, nodeSize - rim * 2);
   addRect(rootBoundingRect, QPen(Qt::black), QBrush(Qt::darkRed));
   addRect(rootInnerBoundingRect, QPen(Qt::black), QBrush(Qt::lightGray));
-  QRectF digestRect(- 5 * nodeSize , - nodeSize, 11 * nodeSize, 30);
+  QRectF digestRect(- 5.5 * nodeSize , - nodeSize, 12 * nodeSize, 30);
   addRect(digestRect, QPen(Qt::darkCyan), QBrush(Qt::darkCyan));
 
   QGraphicsTextItem *digestItem = addText(digest);
   QRectF digestBoundingRect = digestItem->boundingRect();
   digestItem->setDefaultTextColor(Qt::black);
   digestItem->setFont(QFont("Cursive", 12, QFont::Bold));
-  digestItem->setPos(- 4 * nodeSize + (11 * nodeSize - digestBoundingRect.width()) / 2, - nodeSize + 5);
+  digestItem->setPos(- 4.5 * nodeSize + (12 * nodeSize - digestBoundingRect.width()) / 2, - nodeSize + 5);
   m_rootDigest = digestItem;
 
   // plot child nodes
