Index: src/org/openstreetmap/josm/actions/mapmode/SelectionAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/mapmode/SelectionAction.java	(revision 104)
+++ src/org/openstreetmap/josm/actions/mapmode/SelectionAction.java	(revision 105)
@@ -94,5 +94,5 @@
 	 */
 	public SelectionAction(MapFrame mapFrame, String name, Mode mode, String desc) {
-		super(name, "selection/"+mode, desc, "S", KeyEvent.VK_S, mapFrame, ImageProvider.getCursor("normal", "selection"));
+		super(name, "selection/"+mode, desc, mapFrame, ImageProvider.getCursor("normal", "selection"));
 		this.mode = mode;
 		this.selectionManager = new SelectionManager(this, false, mapFrame.mapView);
@@ -202,4 +202,6 @@
 	private Node addNearest(Collection<OsmPrimitive> path, Node start, Node end) {
 		Collection<Segment> c = reverseSegmentMap.get(start);
+		//if (c == null)
+			//return null; // start may be a waypoint without segments
 		double min = Double.MAX_VALUE;
 		Node next = null;
Index: src/org/openstreetmap/josm/tools/DateParser.java
===================================================================
--- src/org/openstreetmap/josm/tools/DateParser.java	(revision 104)
+++ src/org/openstreetmap/josm/tools/DateParser.java	(revision 105)
@@ -15,4 +15,7 @@
 
 	private static final String[] formats = {
+		"yyyy-MM-dd'T'HH:mm:ssZ",
+		"yyyy-MM-dd'T'HH:mm:ss.SSSZ",
+		"yyyy-MM-dd HH:mm:ss",
 		"MM/dd/yyyy HH:mm:ss",
 		"MM/dd/yyyy'T'HH:mm:ss.SSSZ",
