diff --git a/src/java.base/share/classes/java/util/Locale.java b/src/java.base/share/classes/java/util/Locale.java
index f600afbb007..462cd5755c2 100644
--- a/src/java.base/share/classes/java/util/Locale.java
+++ b/src/java.base/share/classes/java/util/Locale.java
@@ -120,9 +120,13 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* {@code Locale} always canonicalizes to lower case.
*
*
Syntax: Well-formed {@code language} values have the form {@code [a-zA-Z]{2,8}}.
- * BCP 47 deviation: this is not the full BCP 47 language production, since it excludes
+ * BCP 47 deviation: {@code Locale} does not retain the
* extlang
- * (as modern three-letter language codes are preferred).
+ * subtag. This is because three-letter language codes are preferred over extlang
+ * subtags. When a {@code Locale} is created from a language tag containing an
+ * extlang subtag, the first extlang subtag is interpreted as the language
+ * field. The primary language subtag and any subsequent extlang subtags
+ * are ignored.
*
* Example: "en" (English), "ja" (Japanese), "kok" (Konkani)
*