Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 18021)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 18023)
@@ -258,6 +258,9 @@
                 if (source != this) {
                     String valueTemplateText = valueTemplate.getText(support);
-                    Logging.trace("Evaluating value_template {0} for key {1} => {2}", valueTemplate, key, valueTemplateText);
-                    SwingUtilities.invokeLater(() -> textField.setItem(valueTemplateText));
+                    Logging.trace("Evaluating value_template {0} for key {1} from {2} with new value {3} => {4}",
+                            valueTemplate, key, source, newValue, valueTemplateText);
+                    if (!textField.getText().equals(valueTemplateText)) {
+                        SwingUtilities.invokeLater(() -> textField.setItem(valueTemplateText));
+                    }
                 }
             });
