Index: trunk/test/unit/org/openstreetmap/josm/tools/template_engine/TemplateParserTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/template_engine/TemplateParserTest.java	(revision 11045)
+++ trunk/test/unit/org/openstreetmap/josm/tools/template_engine/TemplateParserTest.java	(revision 11057)
@@ -174,4 +174,5 @@
         entry.appendText(sb, dataProvider);
         Assert.assertEquals("name=waypointName, number=10", sb.toString());
+        Assert.assertEquals("{special:everything}", entry.toString());
     }
 
@@ -333,3 +334,12 @@
         Assert.assertEquals("child2", sb.toString());
     }
+
+    @Test
+    public void testToStringCanBeParsedAgain() throws Exception {
+        final String s1 = "?{ '{name} ({desc})' | '{name} ({cmt})' | '{name}' | '{desc}' | '{cmt}' }";
+        final String s2 = new TemplateParser(s1).parse().toString();
+        final String s3 = new TemplateParser(s2).parse().toString();
+        Assert.assertEquals(s1, s2);
+        Assert.assertEquals(s2, s3);
+    }
 }
