diff --git a/src/plugins/find/searchresulttreeitemroles.h b/src/plugins/find/searchresulttreeitemroles.h
index d79877e8de511749875ba73d07ec9b713d339333..1e917255b62287cfe81dbb0a0931dff8d7546ebb 100644
--- a/src/plugins/find/searchresulttreeitemroles.h
+++ b/src/plugins/find/searchresulttreeitemroles.h
@@ -44,7 +44,7 @@ enum Roles
     ResultIconRole,
     SearchTermStartRole,
     SearchTermLengthRole,
-    RowOfItem // The ?-th child of its parent is this this item
+    IsGeneratedRole
 };
 
 } // namespace Internal
diff --git a/src/plugins/find/searchresulttreemodel.cpp b/src/plugins/find/searchresulttreemodel.cpp
index 705dedcf4e678d1a99bf01bc77529880c44c5996..a03922114dc6adb77925f6ca03c3607b1e9d2a84 100644
--- a/src/plugins/find/searchresulttreemodel.cpp
+++ b/src/plugins/find/searchresulttreemodel.cpp
@@ -217,6 +217,9 @@ QVariant SearchResultTreeModel::data(const SearchResultTreeItem *row, int role)
     case ItemDataRoles::SearchTermLengthRole:
         result = row->item.textMarkLength;
         break;
+    case ItemDataRoles::IsGeneratedRole:
+        result = row->isGenerated();
+        break;
 // TODO this looks stupid in case of symbol tree, is it necessary?
 //    case Qt::BackgroundRole:
 //        if (row->parent() && row->parent()->parent())
diff --git a/src/plugins/find/searchresulttreeview.cpp b/src/plugins/find/searchresulttreeview.cpp
index 4cd46ac30fce530935402e63687523284b4374e2..459736dc008d4a85fdb3792e627ba1ff7edd287f 100644
--- a/src/plugins/find/searchresulttreeview.cpp
+++ b/src/plugins/find/searchresulttreeview.cpp
@@ -46,7 +46,7 @@ SearchResultTreeView::SearchResultTreeView(QWidget *parent)
     setItemDelegate(new SearchResultTreeItemDelegate(this));
     setIndentation(14);
     setUniformRowHeights(true);
-    setExpandsOnDoubleClick(false);
+    setExpandsOnDoubleClick(true);
     header()->hide();
 
     connect(this, SIGNAL(activated(QModelIndex)), this, SLOT(emitJumpToSearchResult(QModelIndex)));
@@ -78,6 +78,8 @@ void SearchResultTreeView::addResults(const QList<Find::SearchResultItem> &items
 
 void SearchResultTreeView::emitJumpToSearchResult(const QModelIndex &index)
 {
+    if (model()->data(index, ItemDataRoles::IsGeneratedRole).toBool())
+        return;
     SearchResultItem item = model()->data(index, ItemDataRoles::ResultItemRole).value<SearchResultItem>();
 
     emit jumpToSearchResult(item);