Index: trunk/src/org/openstreetmap/josm/actions/SelectAllAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SelectAllAction.java	(revision 752)
+++ trunk/src/org/openstreetmap/josm/actions/SelectAllAction.java	(revision 753)
@@ -16,5 +16,5 @@
 
 	public void actionPerformed(ActionEvent e) {
-		Main.ds.setSelected(Main.ds.allNonDeletedPrimitives());
+		Main.ds.setSelected(Main.ds.allNonDeletedPhysicalPrimitives());
 	}
 }
Index: trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 752)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 753)
@@ -88,5 +88,5 @@
 			Collection<OsmPrimitive> sel = Main.ds.getSelected();
 			SearchCompiler.Match matcher = SearchCompiler.compile(search, caseSensitive);
-			for (OsmPrimitive osm : Main.ds.allNonDeletedPrimitives()) {
+			for (OsmPrimitive osm : Main.ds.allNonDeletedPhysicalPrimitives()) {
 				if (mode == SearchMode.replace) {
 					if (matcher.match(osm))
Index: trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 752)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 753)
@@ -78,4 +78,12 @@
 		for (OsmPrimitive osm : allPrimitives())
 			if (!osm.deleted)
+				o.add(osm);
+		return o;
+	}
+
+	public Collection<OsmPrimitive> allNonDeletedPhysicalPrimitives() {
+		Collection<OsmPrimitive> o = new LinkedList<OsmPrimitive>();
+		for (OsmPrimitive osm : allPrimitives())
+			if (!osm.deleted && !osm.incomplete && !(osm instanceof Relation))
 				o.add(osm);
 		return o;
