diff --git a/src/TimelineView.cc b/src/TimelineView.cc
index 08b46fdd33e68f82b942bc12fea91e0fbb1376a8..615127a4fec30d0c138f8e7d927d5ba42ba6e13a 100644
--- a/src/TimelineView.cc
+++ b/src/TimelineView.cc
@@ -82,8 +82,10 @@ TimelineView::sliderRangeChanged(int min, int max)
 
         // If the scrollbar is close to the bottom and a new message
         // is added we move the scrollbar.
-        if (max - scroll_area_->verticalScrollBar()->value() < SCROLL_BAR_GAP)
+        if (max - scroll_area_->verticalScrollBar()->value() < SCROLL_BAR_GAP) {
                 scroll_area_->verticalScrollBar()->setValue(max);
+                return;
+        }
 
         int currentHeight = scroll_widget_->size().height();
         int diff          = currentHeight - oldHeight_;
@@ -94,6 +96,9 @@ TimelineView::sliderRangeChanged(int min, int max)
                 newPosition = max;
 
         scroll_area_->verticalScrollBar()->setValue(newPosition);
+
+        scroll_widget_->adjustSize();
+        scroll_widget_->update();
 }
 
 void