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();
+    }
 }
Index: trunk/test/unit/org/openstreetmap/josm/tools/UtilsTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/UtilsTest.java	(revision 15759)
+++ trunk/test/unit/org/openstreetmap/josm/tools/UtilsTest.java	(revision 15760)
@@ -317,3 +317,14 @@
         assertTrue(Utils.isSimilar("Rua São João", "Rua SAO Joao"));
     }
+
+    /**
+     * Test of {@link Utils#stripHtml(String)}
+     */
+    @Test
+    public void testStripHtml() {
+        assertEquals("Hoogte 55 m", Utils.stripHtml(
+                "<table width=\"100%\"><tr>" +
+                        "<td align=\"left\" valign=\"center\"><small><b>Hoogte</b></small></td>" +
+                        "<td align=\"center\" valign=\"center\">55 m</td></tr></table>"));
+    }
 }
