Index: trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 3385)
+++ trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 3386)
@@ -20,4 +20,5 @@
 import org.openstreetmap.josm.data.gpx.GpxLink;
 import org.openstreetmap.josm.data.gpx.WayPoint;
+import org.openstreetmap.josm.data.preferences.StringProperty;
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -94,4 +95,6 @@
      */
     public static LinkedList<MarkerProducers> markerProducers = new LinkedList<MarkerProducers>();
+
+    private static final StringProperty PROP_NAME_DESC = new StringProperty( "draw.gpx.layer.wpt", "nameordesc" );
 
     // Add one Maker specifying the default behaviour.
@@ -116,8 +119,31 @@
 
                 String name_desc = "";
-                if (wpt.attr.containsKey("name")) {
-                    name_desc = wpt.getString("name");
-                } else if (wpt.attr.containsKey("desc")) {
-                    name_desc = wpt.getString("desc");
+                if (PROP_NAME_DESC.get() == null || "nameordesc".equals(PROP_NAME_DESC.get()))
+                {
+                    if (wpt.attr.containsKey("name")) {
+                        name_desc = wpt.getString("name");
+                    } else if (wpt.attr.containsKey("desc")) {
+                        name_desc = wpt.getString("desc");
+                    }
+                } else if ("name".equals(PROP_NAME_DESC.get())) {
+                    if (wpt.attr.containsKey("name")) {
+                        name_desc = wpt.getString("name");
+                    }
+                }
+                else if ("desc".equals(PROP_NAME_DESC.get())) {
+                    if (wpt.attr.containsKey("desc")) {
+                        name_desc = wpt.getString("desc");
+                    }
+                }
+                else if ("both".equals(PROP_NAME_DESC.get()) ) {
+                    if (wpt.attr.containsKey("name")) {
+                        name_desc = wpt.getString("name");
+
+                        if (wpt.attr.containsKey("desc")) {
+                            name_desc += " (" + wpt.getString("desc") + ")" ;
+                        }
+                    } else if (wpt.attr.containsKey("desc")) {
+                        name_desc = wpt.getString("desc");
+                    }
                 }
 
