Index: source/i18n/msgfmt.cpp
===================================================================
--- source/i18n/msgfmt.cpp	(revision 83674)
+++ source/i18n/msgfmt.cpp	(working copy)
@@ -769,12 +769,13 @@
             DateFormat *fullDateTemplate = DateFormat::createDateInstance(DateFormat::kFull, fLocale);
             DateFormat *defaultTimeTemplate = DateFormat::createTimeInstance(DateFormat::kDefault, fLocale);
             DateFormat *shortTimeTemplate = DateFormat::createTimeInstance(DateFormat::kShort, fLocale);
             DateFormat *longTimeTemplate = DateFormat::createTimeInstance(DateFormat::kLong, fLocale);
             DateFormat *fullTimeTemplate = DateFormat::createTimeInstance(DateFormat::kFull, fLocale);
 
 
             appendTo += COMMA;
             if (formatAlias == *defaultDateTemplate) {
+                // default is medium. no need to handle medium separately.
                 appendTo += ID_DATE;
             }
             else if (formatAlias == *shortDateTemplate) {
@@ -782,11 +783,6 @@
                 appendTo += COMMA;
                 appendTo += ID_SHORT;
             }
-            else if (formatAlias == *defaultDateTemplate) {
-                appendTo += ID_DATE;
-                appendTo += COMMA;
-                appendTo += ID_MEDIUM;
-            }
             else if (formatAlias == *longDateTemplate) {
                 appendTo += ID_DATE;
                 appendTo += COMMA;
@@ -798,6 +794,7 @@
                 appendTo += ID_FULL;
             }
             else if (formatAlias == *defaultTimeTemplate) {
+                // default is medium. no need to handle medium separately.
                 appendTo += ID_TIME;
             }
             else if (formatAlias == *shortTimeTemplate) {
@@ -805,11 +802,6 @@
                 appendTo += COMMA;
                 appendTo += ID_SHORT;
             }
-            else if (formatAlias == *defaultTimeTemplate) {
-                appendTo += ID_TIME;
-                appendTo += COMMA;
-                appendTo += ID_MEDIUM;
-            }
             else if (formatAlias == *longTimeTemplate) {
                 appendTo += ID_TIME;
                 appendTo += COMMA;
Index: source/i18n/ucol_sit.cpp
===================================================================
--- source/i18n/ucol_sit.cpp	(revision 83674)
+++ source/i18n/ucol_sit.cpp	(working copy)
@@ -239,7 +239,7 @@
             spec->variableTopString[i++] = readHexCodeUnit(&string, status);
         }
         spec->variableTopStringLen = i;
-        if(i == locElementCapacity && (*string != 0 || *string != '_')) {
+        if(i == locElementCapacity && *string != 0 && *string != '_') {
             *status = U_BUFFER_OVERFLOW_ERROR;
         }
     } else {