diff --git a/src/plugins/find/searchresulttreeitemdelegate.cpp b/src/plugins/find/searchresulttreeitemdelegate.cpp
index 5502069a1772fcca2b9d9f5d8949b90448599bde..88ac8d055357665e29e88dd917d2f3ba07ec1d5e 100644
--- a/src/plugins/find/searchresulttreeitemdelegate.cpp
+++ b/src/plugins/find/searchresulttreeitemdelegate.cpp
@@ -109,7 +109,7 @@ int SearchResultTreeItemDelegate::drawLineNumber(QPainter *painter, const QStyle
     painter->setPen(isSelected ?
         option.palette.color(cg, QPalette::HighlightedText) : Qt::darkGray);
     painter->drawText(lineNumberAreaRect.adjusted(0, 0, -lineNumberAreaHorizontalPadding, 0),
-        Qt::AlignRight, QString::number(lineNumber));
+        Qt::AlignRight | Qt::AlignVCenter, QString::number(lineNumber));
 
     return lineNumberAreaWidth;
 }
diff --git a/src/plugins/find/searchresulttreemodel.cpp b/src/plugins/find/searchresulttreemodel.cpp
index 267022bb437df06bf65eed6807e8f3de2fdb8461..3afb91d31da0a541b0274b68b2d1276b9a03fd45 100644
--- a/src/plugins/find/searchresulttreemodel.cpp
+++ b/src/plugins/find/searchresulttreemodel.cpp
@@ -33,6 +33,7 @@
 
 #include <QtGui/QApplication>
 #include <QtGui/QFont>
+#include <QtGui/QFontMetrics>
 #include <QtGui/QColor>
 #include <QtGui/QPalette>
 #include <QtCore/QDir>
@@ -45,7 +46,7 @@ SearchResultTreeModel::SearchResultTreeModel(QObject *parent)
     , m_lastAppendedResultFile(0)
     , m_showReplaceUI(false)
 {
-    m_rootItem = new SearchResultTreeItem();
+    m_rootItem = new SearchResultTreeItem;
     m_textEditorFont = QFont("Courier");
 }
 
@@ -61,7 +62,9 @@ void SearchResultTreeModel::setShowReplaceUI(bool show)
 
 void SearchResultTreeModel::setTextEditorFont(const QFont &font)
 {
+    layoutAboutToBeChanged();
     m_textEditorFont = font;
+    layoutChanged();
 }
 
 Qt::ItemFlags SearchResultTreeModel::flags(const QModelIndex &index) const
@@ -143,7 +146,13 @@ QVariant SearchResultTreeModel::data(const QModelIndex &index, int role) const
 
     QVariant result;
 
-    if (item->itemType() == SearchResultTreeItem::ResultRow)
+    if (role == Qt::SizeHintRole)
+    {
+        const int appFontHeight = QApplication::fontMetrics().height();
+        const int editorFontHeight = QFontMetrics(m_textEditorFont).height();
+        result = QSize(0, qMax(appFontHeight, editorFontHeight));
+    }
+    else if (item->itemType() == SearchResultTreeItem::ResultRow)
     {
         const SearchResultTextRow *row = static_cast<const SearchResultTextRow *>(item);
         result = data(row, role);