fix for bug 60100
diff --git a/org.eclipse.search/new search/org/eclipse/search/ui/text/AbstractTextSearchViewPage.java b/org.eclipse.search/new search/org/eclipse/search/ui/text/AbstractTextSearchViewPage.java
index 608c3d5..dd8dc6b 100644
--- a/org.eclipse.search/new search/org/eclipse/search/ui/text/AbstractTextSearchViewPage.java
+++ b/org.eclipse.search/new search/org/eclipse/search/ui/text/AbstractTextSearchViewPage.java
@@ -161,7 +161,6 @@
 	 * Flag (<code>value 2</code>) denoting flat list layout.
 	 */
 	public static final int FLAG_LAYOUT_TREE = 2;
-	private boolean fUpdateTracing;
 	
 	/**
 	 * This constructor must be passed a combination of layout flags combined
@@ -206,10 +205,6 @@
 	protected AbstractTextSearchViewPage() {
 		this(FLAG_LAYOUT_FLAT | FLAG_LAYOUT_TREE);
 	}
-	
-	public void setUpdateTracing(boolean on) {
-		fUpdateTracing= on;
-	}
 
 	private void createLayoutActions() {
 		if (countBits(fSupportedLayouts) > 1) {
@@ -541,6 +536,8 @@
 					TreeViewer tv = (TreeViewer) event.getViewer();
 					Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
 					tv.setExpandedState(element, !tv.getExpandedState(element));
+					if (!hasCurrentMatch && getInput().getMatchCount(element) > 0)
+						gotoNextMatch();
 					return;
 				} else if (!hasCurrentMatch) {
 					gotoNextMatch();
@@ -837,14 +834,6 @@
 		updateBusyLabel();
 	}
 
-	private void setSelectionIndex() {
-		if (fViewer instanceof TableViewer) {	
-			((TableViewer)fViewer).getTable().showSelection();
-		} else if (fViewer instanceof TreeViewer) {
-			((TreeViewer)fViewer).getTree().showSelection();
-		}
-	}
-
 	private void postClear() {
 		asyncExec(new Runnable() {
 			public void run() {