Index: trunk/test/unit/org/openstreetmap/josm/actions/JoinAreasActionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/actions/JoinAreasActionTest.java	(revision 10452)
+++ trunk/test/unit/org/openstreetmap/josm/actions/JoinAreasActionTest.java	(revision 10457)
@@ -6,4 +6,5 @@
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Collection;
 
 import org.junit.BeforeClass;
@@ -14,8 +15,11 @@
 import org.openstreetmap.josm.actions.search.SearchAction;
 import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.io.IllegalDataException;
 import org.openstreetmap.josm.io.OsmReader;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -65,16 +69,14 @@
             Layer layer = new OsmDataLayer(ds, null, null);
             Main.getLayerManager().addLayer(layer);
-            try {
-                for (String ref : new String[]{"A", "B", "C", "D", "E"}) {
-                    System.out.print("Joining ways " + ref);
-                    SearchAction.search("type:way ref="+ref, SearchAction.SearchMode.replace);
-                    assertEquals(2, ds.getSelectedWays().size());
-                    Main.main.menu.joinAreas.join(ds.getSelectedWays());
-                    assertEquals(1, ds.getSelectedWays().size());
-                    System.out.println(" ==> OK");
-                }
-            } finally {
-                // Ensure we clean the place before leaving, even if test fails.
-                Main.getLayerManager().removeLayer(layer);
+            for (String ref : new String[]{"A", "B", "C", "D", "E"}) {
+                System.out.print("Joining ways " + ref);
+                Collection<OsmPrimitive> found = SearchAction.searchAndReturn("type:way ref="+ref, SearchAction.SearchMode.replace);
+                assertEquals(2, found.size());
+
+                Main.main.menu.joinAreas.join(Utils.filteredCollection(found, Way.class));
+
+                Collection<OsmPrimitive> found2 = SearchAction.searchAndReturn("type:way ref="+ref, SearchAction.SearchMode.replace);
+                assertEquals(1, found2.size());
+                System.out.println(" ==> OK");
             }
         }
