Index: /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 540)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 541)
@@ -1,3 +1,3 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
+// License: GPL. Copyright 2008 by Immanuel Scholz and others
 package org.openstreetmap.josm.gui.layer.markerlayer;
 
@@ -87,12 +87,20 @@
 
 				// Try a relative file:// url, if the link is not in an URL-compatible form
-				if (relativePath != null && uri != null && !isWellFormedAddress(uri))
-					uri = new File(relativePath, uri).toURI().toString();
+                if (relativePath != null && uri != null && !isWellFormedAddress(uri))
+                    uri = new File(relativePath, uri).toURI().toString();
 
-				if (uri == null)
-					return new Marker(wpt.latlon, wpt.getString("name"), wpt.getString("symbol"));
-				if (uri.endsWith(".wav"))
-					return AudioMarker.create(wpt.latlon, uri);
-				else if (uri.endsWith(".png") || uri.endsWith(".jpg") || uri.endsWith(".jpeg") || uri.endsWith(".gif"))
+                if (uri == null) {
+                    String name_desc = "";
+                    if (wpt.attr.containsKey("name")) {
+                        name_desc = wpt.getString("name");
+                    } else if (wpt.attr.containsKey("desc")) {
+                        name_desc = wpt.getString("desc");
+                    }
+                    return new Marker(wpt.latlon, name_desc, wpt.getString("symbol"));
+                }
+
+                if (uri.endsWith(".wav"))
+                    return AudioMarker.create(wpt.latlon, uri);
+                else if (uri.endsWith(".png") || uri.endsWith(".jpg") || uri.endsWith(".jpeg") || uri.endsWith(".gif"))
 					return ImageMarker.create(wpt.latlon, uri);
 				else
Index: /trunk/src/org/openstreetmap/josm/io/GpxReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/GpxReader.java	(revision 540)
+++ /trunk/src/org/openstreetmap/josm/io/GpxReader.java	(revision 541)
@@ -237,4 +237,7 @@
 					currentState = states.pop();
 					currentTrackSeg.add(currentWayPoint);
+					if (currentWayPoint.attr.containsKey("name") || currentWayPoint.attr.containsKey("desc")) {
+						currentData.waypoints.add(currentWayPoint);
+					}
 				} else if (qName.equals("wpt")) {
 					currentState = states.pop();
