Index: /applications/editors/josm/plugins/build.xml
===================================================================
--- /applications/editors/josm/plugins/build.xml	(revision 9948)
+++ /applications/editors/josm/plugins/build.xml	(revision 9949)
@@ -26,7 +26,9 @@
     <ant	dir="pluginmanager"	antfile="build.xml"	target="dist"/> 
     <ant	dir="slippymap"		antfile="build.xml"	target="dist"/>
+    <ant	dir="surveyor"		antfile="build.xml"     target="dist"/>
     <ant	dir="tagging-preset-tester"	antfile="build.xml"	target="dist"/>
     <ant	dir="utilsplugin"	antfile="build.xml"	target="dist"/>
     <ant	dir="validator"		antfile="build.xml"	target="dist"/>
+    <ant	dir="waypoints"		antfile="build.xml"	target="dist"/>
     <ant	dir="wmsplugin"		antfile="build.xml"	target="dist"/>
     <ant	dir="ywms"		antfile="build.xml"	target="dist"/>
@@ -36,6 +38,4 @@
     <ant	dir="grid"		antfile="build.xml"	target="dist"/>
     <ant	dir="navigator"		antfile="build.xml"	target="dist"/>
-    <ant	dir="surveyor"		antfile="build.xml"     target="dist"/>
-    <ant	dir="waypoints"		antfile="build.xml"	target="dist"/>
   </target>
 
Index: /applications/editors/josm/plugins/waypoints/src/WaypointOpenAction.java
===================================================================
--- /applications/editors/josm/plugins/waypoints/src/WaypointOpenAction.java	(revision 9948)
+++ /applications/editors/josm/plugins/waypoints/src/WaypointOpenAction.java	(revision 9949)
@@ -14,4 +14,6 @@
 import javax.swing.JFileChooser;
 import javax.swing.JOptionPane;
+
+import javax.xml.parsers.ParserConfigurationException;
 
 import org.openstreetmap.josm.Main;
@@ -36,5 +38,5 @@
 
 	public void actionPerformed(ActionEvent e) {
-		JFileChooser fc = createAndOpenFileChooser(true, true);
+		JFileChooser fc = createAndOpenFileChooser(true, true, null);
 		if (fc == null)
 			return;
@@ -58,4 +60,8 @@
 			JOptionPane.showMessageDialog(Main.parent, 
 					tr("Error while parsing {0}",fn)+": "+x.getMessage());
+		} catch (ParserConfigurationException x) {
+			x.printStackTrace(); // broken SAXException chaining
+			JOptionPane.showMessageDialog(Main.parent, 
+					tr("Error while parsing {0}",fn)+": "+x.getMessage());
 		} catch (IOException x) {
 			x.printStackTrace();
Index: /applications/editors/josm/plugins/waypoints/src/WaypointReader.java
===================================================================
--- /applications/editors/josm/plugins/waypoints/src/WaypointReader.java	(revision 9948)
+++ /applications/editors/josm/plugins/waypoints/src/WaypointReader.java	(revision 9949)
@@ -7,4 +7,7 @@
 import java.io.InputStreamReader;
 
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet; // NW
@@ -12,7 +15,6 @@
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
-
-import uk.co.wilson.xml.MinML2;
-
+import org.xml.sax.InputSource;
+import org.xml.sax.helpers.DefaultHandler;
 
 /**
@@ -21,5 +23,5 @@
 public class WaypointReader {
 
-	private static class Parser extends MinML2 {
+	private static class Parser extends DefaultHandler {
 		/**
 		 * Current track to be read. The last entry is the current trkpt.
@@ -99,7 +101,7 @@
 	 */
 	public static DataSet parse(InputStream source) 
-			throws SAXException, IOException{
+			throws SAXException, IOException, ParserConfigurationException {
 		Parser parser = new Parser();
-		parser.parse(new InputStreamReader(source, "UTF-8"));
+		SAXParserFactory.newInstance().newSAXParser().parse(new InputSource(new InputStreamReader(source, "UTF-8")), parser);
 		return parser.dataSet;
 	}
