diff --git a/src/plugins/debugger/qtmessagelogview.cpp b/src/plugins/debugger/qtmessagelogview.cpp
index 0029235ea3d697a051761323f84e8f1a774a268a..718fc327cf1b888435bc705eee2a5f9abfa37ec9 100644
--- a/src/plugins/debugger/qtmessagelogview.cpp
+++ b/src/plugins/debugger/qtmessagelogview.cpp
@@ -47,6 +47,7 @@
 #include <QAbstractProxyModel>
 #include <QFileInfo>
 #include <QUrl>
+#include <QScrollBar>
 
 namespace Debugger {
 namespace Internal {
@@ -115,6 +116,13 @@ QtMessageLogView::QtMessageLogView(QWidget *parent) :
             SLOT(onRowActivated(QModelIndex)));
 }
 
+void QtMessageLogView::onScrollToBottom()
+{
+    //Keep scrolling to bottom if scroll bar is at maximum()
+    if (verticalScrollBar()->value() == verticalScrollBar()->maximum())
+        scrollToBottom();
+}
+
 void QtMessageLogView::mousePressEvent(QMouseEvent *event)
 {
     QPoint pos = event->pos();
diff --git a/src/plugins/debugger/qtmessagelogview.h b/src/plugins/debugger/qtmessagelogview.h
index 103d6ff19dfa15a0d8f028457782016152e7eeea..9b0afc285d8e5462ad1d50b08478b3c6483bb35a 100644
--- a/src/plugins/debugger/qtmessagelogview.h
+++ b/src/plugins/debugger/qtmessagelogview.h
@@ -44,6 +44,9 @@ class QtMessageLogView : public QTreeView
 public:
     explicit QtMessageLogView(QWidget *parent = 0);
 
+public slots:
+    void onScrollToBottom();
+
 protected:
     void mousePressEvent(QMouseEvent *event);
     void keyPressEvent(QKeyEvent *e);
diff --git a/src/plugins/debugger/qtmessagelogwindow.cpp b/src/plugins/debugger/qtmessagelogwindow.cpp
index e54ccae8ab29ca01a2d3991fac5dfeae242db55a..58da0805114a8a18570fbed8b224ed3acc358f8e 100644
--- a/src/plugins/debugger/qtmessagelogwindow.cpp
+++ b/src/plugins/debugger/qtmessagelogwindow.cpp
@@ -159,7 +159,7 @@ QtMessageLogWindow::QtMessageLogWindow(QWidget *parent)
     connect(m_proxyModel,
             SIGNAL(scrollToBottom()),
             m_treeView,
-            SLOT(scrollToBottom()));
+            SLOT(onScrollToBottom()));
 
     m_itemDelegate = new QtMessageLogItemDelegate(this);
     connect(m_treeView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),