diff --git a/src/library_desugar/jdk11/desugar_jdk_libs.json b/src/library_desugar/jdk11/desugar_jdk_libs.json
index 221f44c..360bb74 100644
--- a/src/library_desugar/jdk11/desugar_jdk_libs.json
+++ b/src/library_desugar/jdk11/desugar_jdk_libs.json
@@ -1,5 +1,5 @@
 {
-  "identifier": "com.tools.android:desugar_jdk_libs_configuration:2.1.3",
+  "identifier": "com.tools.android:desugar_jdk_libs_configuration:2.1.4",
   "configuration_format_version": 101,
   "required_compilation_api_level": 30,
   "synthesized_library_classes_package_prefix": "j$.",
diff --git a/src/library_desugar/jdk11/desugar_jdk_libs_minimal.json b/src/library_desugar/jdk11/desugar_jdk_libs_minimal.json
index f4febc3..b39b8d4 100644
--- a/src/library_desugar/jdk11/desugar_jdk_libs_minimal.json
+++ b/src/library_desugar/jdk11/desugar_jdk_libs_minimal.json
@@ -1,5 +1,5 @@
 {
-  "identifier": "com.tools.android:desugar_jdk_libs_configuration_minimal:2.1.3",
+  "identifier": "com.tools.android:desugar_jdk_libs_configuration_minimal:2.1.4",
   "configuration_format_version": 101,
   "required_compilation_api_level": 24,
   "synthesized_library_classes_package_prefix": "j$.",
diff --git a/src/library_desugar/jdk11/desugar_jdk_libs_nio.json b/src/library_desugar/jdk11/desugar_jdk_libs_nio.json
index 2c8bcb4..b75ec43 100644
--- a/src/library_desugar/jdk11/desugar_jdk_libs_nio.json
+++ b/src/library_desugar/jdk11/desugar_jdk_libs_nio.json
@@ -1,5 +1,5 @@
 {
-  "identifier": "com.tools.android:desugar_jdk_libs_configuration_nio:2.1.3",
+  "identifier": "com.tools.android:desugar_jdk_libs_configuration_nio:2.1.4",
   "configuration_format_version": 101,
   "required_compilation_api_level": 30,
   "synthesized_library_classes_package_prefix": "j$.",
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DayTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DayTest.java
index 93d7554..612b544 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DayTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DayTest.java
@@ -27,9 +27,6 @@
 @RunWith(Parameterized.class)
 public class DayTest extends DesugaredLibraryTestBase {
   private static final String MISSING_STANDALONE = StringUtils.lines("1", "1", "1234567");
-  // TODO(b/300128109): Wrong SIMPLIFIED_CHINESE narrow day values.
-  private static final String SIMPLIFIED_CHINESE_NARROW_DAY_ISSUE =
-      StringUtils.lines("星期一", "周一", "星星星星星星星");
 
   private static final String UK_EXPECTED_RESULT_JDK8 =
       StringUtils.lines("Monday", "Mon", "1234567");
@@ -89,9 +86,6 @@
     if (parameters.isCfRuntime() && parameters.getRuntime().asCf().isOlderThan(CfVm.JDK9)) {
       return SIMPLIFIED_CHINESE_EXPECTED_RESULT_JDK8;
     }
-    if (parameters.isDexRuntime() && libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
-      return SIMPLIFIED_CHINESE_NARROW_DAY_ISSUE;
-    }
     return SIMPLIFIED_CHINESE_EXPECTED_RESULT;
   }
 
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java
index 7f5cfd9..5bf9765 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java
@@ -33,8 +33,10 @@
 
   private static final String RU_EXPECTED_RESULT_DOT = StringUtils.lines("апреля", "апр.", "А");
   private static final String RU_EXPECTED_RESULT = StringUtils.lines("апреля", "апр", "А");
-  private static final String RU_EXPECTED_RESULT_DOT_NARROW_LOWERCASE =
+  private static final String RU_EXPECTED_RESULT_DOT_NARROW_LOWERCASE_JDK8 =
       StringUtils.lines("апреля", "апр.", "а");
+  private static final String RU_EXPECTED_RESULT_DOT_NARROW_LOWERCASE =
+      StringUtils.lines("апрель", "апр.", "а");
 
   private static final String RU_STANDALONE_EXPECTED_RESULT_ALL_UPPERCASE =
       StringUtils.lines("Апрель", "Апр.", "А");
@@ -86,6 +88,16 @@
       return RU_EXPECTED_RESULT_DOT;
     }
     if (libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+      if (libraryDesugaringSpecification == JDK8) {
+        return RU_EXPECTED_RESULT_DOT_NARROW_LOWERCASE_JDK8;
+      }
+      Version version = parameters.getDexRuntimeVersion();
+      if (version.isOlderThan(Version.V4_4_4)) {
+        return RU_STANDALONE_EXPECTED_RESULT_LONG_NARROW_UPPERCASE;
+      }
+      if (version.isOlderThan(Version.V6_0_1)) {
+        return RU_STANDALONE_EXPECTED_RESULT_ALL_UPPERCASE;
+      }
       return RU_EXPECTED_RESULT_DOT_NARROW_LOWERCASE;
     }
     return RU_EXPECTED_RESULT_DOT;
diff --git a/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1 b/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1
index 7a144f7..f800a99 100644
--- a/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1
+++ b/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1
@@ -1 +1 @@
-5a35d5323fe418db348576d23428cb3346d28535
\ No newline at end of file
+a32c6fe86f587a8b6b75441c6f995b50b2f8c8c9
\ No newline at end of file
