Index: trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 15759)
+++ trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 15760)
@@ -79,5 +79,5 @@
     private final ArrayList<GpxRoute> privateRoutes = new ArrayList<>();
     /**
-     * Addidionaly waypoints for this file.
+     * Additional waypoints for this file.
      */
     private final ArrayList<WayPoint> privateWaypoints = new ArrayList<>();
Index: trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 15759)
+++ trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 15760)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.data.projection.Projecting;
 import org.openstreetmap.josm.tools.Logging;
+import org.openstreetmap.josm.tools.Utils;
 import org.openstreetmap.josm.tools.date.DateUtils;
 import org.openstreetmap.josm.tools.template_engine.TemplateEngineDataProvider;
@@ -265,8 +266,12 @@
     @Override
     public Object getTemplateValue(String name, boolean special) {
-        if (!special)
+        if (special) {
+            return null;
+        } else if ("desc".equals(name)) {
+            final Object value = get(name);
+            return value instanceof String ? Utils.stripHtml(((String) value)) : value;
+        } else {
             return get(name);
-        else
-            return null;
+        }
     }
 
Index: trunk/src/org/openstreetmap/josm/tools/Utils.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Utils.java	(revision 15759)
+++ trunk/src/org/openstreetmap/josm/tools/Utils.java	(revision 15760)
@@ -1990,3 +1990,19 @@
         }
     }
+
+    /**
+     * Strips all HTML characters and return the result.
+     *
+     * @param rawString The raw HTML string
+     * @return the plain text from the HTML string
+     * @since 15760
+     */
+    public static String stripHtml(String rawString) {
+        // remove HTML tags
+        rawString = rawString.replaceAll("<.*?>", " ");
+        // consolidate multiple spaces between a word to a single space
+        rawString = rawString.replaceAll("\\b\\s{2,}\\b", " ");
+        // remove extra whitespaces
+        return rawString.trim();
+    }
 }
