diff --git a/src/plugins/todo/todooutputpane.cpp b/src/plugins/todo/todooutputpane.cpp
index 6efa68fafd8758c124b7870e2fae3e5252ecb632..da5bb925e1a4d709f704e64ddcf08c91dfde5136 100755
--- a/src/plugins/todo/todooutputpane.cpp
+++ b/src/plugins/todo/todooutputpane.cpp
@@ -123,12 +123,18 @@ bool TodoOutputPane::canPrevious() const
 
 void TodoOutputPane::goToNext()
 {
-    m_todoTreeView->selectionModel()->select(nextModelIndex(), QItemSelectionModel::SelectCurrent);
+    const QModelIndex nextIndex = nextModelIndex();
+    m_todoTreeView->selectionModel()->setCurrentIndex(nextIndex, QItemSelectionModel::SelectCurrent
+                                                      | QItemSelectionModel::Rows);
+    todoTreeViewClicked(nextIndex);
 }
 
 void TodoOutputPane::goToPrev()
 {
-    m_todoTreeView->selectionModel()->select(previousModelIndex(), QItemSelectionModel::SelectCurrent);
+    const QModelIndex prevIndex = previousModelIndex();
+    m_todoTreeView->selectionModel()->setCurrentIndex(prevIndex, QItemSelectionModel::SelectCurrent
+                                                      | QItemSelectionModel::Rows);
+    todoTreeViewClicked(prevIndex);
 }
 
 void TodoOutputPane::setScanningScope(ScanningScope scanningScope)
diff --git a/src/plugins/todo/todooutputtreeview.cpp b/src/plugins/todo/todooutputtreeview.cpp
index 6c211f4613af273f84028f9ec0a7257209d9d494..1475284b3d03719ae12ffa49e7b4cbcb276fd79e 100644
--- a/src/plugins/todo/todooutputtreeview.cpp
+++ b/src/plugins/todo/todooutputtreeview.cpp
@@ -48,6 +48,7 @@ TodoOutputTreeView::TodoOutputTreeView(QWidget *parent) :
     setFrameStyle(QFrame::NoFrame);
     setSortingEnabled(true);
     setAttribute(Qt::WA_MacShowFocusRect, false);
+    setSelectionBehavior(QTreeView::SelectRows);
 
     header()->setResizeMode(QHeaderView::Interactive);
     header()->setStretchLastSection(true);