# This patch file was generated by NetBeans IDE
# This patch can be applied using context Tools: Patch action on respective folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
--- src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java Base (BASE)
+++ src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java Locally Modified (Based On LOCAL)
@@ -19,6 +19,7 @@
 import org.openstreetmap.josm.data.gpx.GpxData;
 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,6 +95,8 @@
      */
     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.
     static {
         Marker.markerProducers.add(new MarkerProducers() {
@@ -114,13 +117,42 @@
                     uri = new File(relativePath.getParentFile(), uri).toURI().toString();
                 }
 
+				// Ticket 3617: Display more than one attribute
                 String name_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");
+					}
+				}
+
                 if (uri == null) {
                     String symbolName = wpt.getString("symbol");
                     if (symbolName == null) {
