ICU-8761 Merged an additional fix to #8630(r30549) from trunk

X-SVN-Rev: 30551
diff --git a/main/classes/core/src/com/ibm/icu/util/ULocale.java b/main/classes/core/src/com/ibm/icu/util/ULocale.java
index b40d2d7..da95103 100644
--- a/main/classes/core/src/com/ibm/icu/util/ULocale.java
+++ b/main/classes/core/src/com/ibm/icu/util/ULocale.java
@@ -597,7 +597,8 @@
      * @stable ICU 3.0
      */
     public static synchronized void setDefault(ULocale newLocale){
-        Locale.setDefault(newLocale.toLocale());
+        defaultLocale = newLocale.toLocale();
+        Locale.setDefault(defaultLocale);
         defaultULocale = newLocale;
         // This method also updates all category default locales
         for (Category cat : Category.values()) {
diff --git a/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java b/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java
index b33113c..873d79e 100644
--- a/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java
+++ b/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java
@@ -194,7 +194,8 @@
      */
     public void TestJavaLocaleCompatibility() {
         Locale backupDefault = Locale.getDefault();
-        
+        ULocale orgUlocDefault = ULocale.getDefault();
+
         // Java Locale for ja_JP with Japanese calendar
         Locale jaJPJP = new Locale("ja", "JP", "JP");
         Locale jaJP = new Locale("ja", "JP");
@@ -289,6 +290,11 @@
             errln("FAIL: ULocale#setDefault failed to set Java Locale no_NO_NY /actual: " + Locale.getDefault());
         }
         Locale.setDefault(backupDefault);
+
+        // Make sure default ULocale is restored
+        if (!ULocale.getDefault().equals(orgUlocDefault)) {
+            errln("FAIL: Original default ULocale is not restored - " + ULocale.getDefault() + ", expected(orginal) - " + orgUlocDefault);
+        }
     }
     
     // ================= Infrastructure =================