Index: trunk/eraser/Eraser.Manager/ErasureTargetCollection.cs
===================================================================
--- trunk/eraser/Eraser.Manager/ErasureTargetCollection.cs	(revision 2612)
+++ trunk/eraser/Eraser.Manager/ErasureTargetCollection.cs	(revision 2614)
@@ -102,9 +102,9 @@
 					foreach (XmlSerializer serializer in targetSerializers)
 					{
-						XmlReader subTree = reader.ReadSubtree();
-						if (serializer.CanDeserialize(subTree))
+						bool targetEmpty = reader.IsEmptyElement;
+						if (serializer.CanDeserialize(reader))
 						{
 							IErasureTarget target = (IErasureTarget)
-								serializer.Deserialize(subTree);
+								serializer.Deserialize(reader);
 							list.Add(target);
 							break;
@@ -113,4 +113,6 @@
 				}
 
+				if (reader.Name != "ErasureTargetCollection")
+					throw new InvalidDataException();
 				reader.ReadEndElement();
 			}
