diff --git a/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java b/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
index 3324f0b83..dc6a982b3 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
@@ -22,6 +22,7 @@
 import java.util.Locale;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.OptionalInt;
 import java.util.Set;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
@@ -450,7 +451,13 @@ static String removeUnwantedNonPrintingControlCharacters(String s) {
     }
 
     static boolean containsUnusualUnicodeCharacter(String key, String value) {
-        return value != null && value.chars().anyMatch(c -> isUnusualUnicodeBlock(key, c));
+        return getUnusualUnicodeCharacter(key, value).isPresent();
+    }
+
+    static OptionalInt getUnusualUnicodeCharacter(String key, String value) {
+        return value == null
+                ? OptionalInt.empty()
+                : value.chars().filter(c -> isUnusualUnicodeBlock(key, c)).findFirst();
     }
 
     /**
@@ -675,9 +682,11 @@ private void checkSingleTagValueSimple(MultiMap<OsmPrimitive, String> withErrors
                     .build());
             withErrors.put(p, "ICV");
         }
-        if ((containsUnusualUnicodeCharacter(key, value)) && !withErrors.contains(p, "UUCV")) {
+        final OptionalInt unusualUnicodeCharacter = getUnusualUnicodeCharacter(key, value);
+        if (unusualUnicodeCharacter.isPresent() && !withErrors.contains(p, "UUCV")) {
+            final String codepoint = String.format(Locale.ROOT, "U+%04X", unusualUnicodeCharacter.getAsInt());
             errors.add(TestError.builder(this, Severity.WARNING, UNUSUAL_UNICODE_CHAR_VALUE)
-                    .message(tr("Tag value contains unusual Unicode character"), s, key)
+                    .message(tr("Tag value contains unusual Unicode character {0}", codepoint), s, key)
                     .primitives(p)
                     .build());
             withErrors.put(p, "UUCV");
