diff --git a/source/i18n/regexcmp.cpp b/source/i18n/regexcmp.cpp
index e518e84..d56dce3 100644
--- a/source/i18n/regexcmp.cpp
+++ b/source/i18n/regexcmp.cpp
@@ -71,6 +71,7 @@ RegexCompile::RegexCompile(RegexPattern *rxp, UErrorCode &status) :
     fMatchOpenParen   = -1;
     fMatchCloseParen  = -1;
     fCaptureName      = NULL;
+    fLastSetLiteral   = U_SENTINEL;
 
     if (U_SUCCESS(status) && U_FAILURE(rxp->fDeferredStatus)) {
         status = rxp->fDeferredStatus;
@@ -1752,12 +1753,14 @@ UBool RegexCompile::doParseActions(int32_t action)
     case doSetNamedRange:
         // We have scanned literal-\N{CHAR NAME}.  Add the range to the set.
         // The left character is already in the set, and is saved in fLastSetLiteral.
+        // Nonetheless, check if |fLastSetLiteral| is indeed set because it's
+        // not set in some edge cases.
         // The right side needs to be picked up, the scan is at the 'N'.
         // Lower Limit > Upper limit being an error matches both Java
         //        and ICU UnicodeSet behavior.
         {
             UChar32  c = scanNamedChar();
-            if (U_SUCCESS(*fStatus) && fLastSetLiteral > c) {
+            if (U_SUCCESS(*fStatus) && (fLastSetLiteral == U_SENTINEL || fLastSetLiteral > c)) {
                 error(U_REGEX_INVALID_RANGE);
             }
             UnicodeSet *s = (UnicodeSet *)fSetStack.peek();
@@ -1822,11 +1825,13 @@ UBool RegexCompile::doParseActions(int32_t action)
     case doSetRange:
         // We have scanned literal-literal.  Add the range to the set.
         // The left character is already in the set, and is saved in fLastSetLiteral.
+        // Nonetheless, check if |fLastSetLiteral| is indeed set because it's
+        // not set in some edge cases.
         // The right side is the current character.
         // Lower Limit > Upper limit being an error matches both Java
         //        and ICU UnicodeSet behavior.
         {
-        if (fLastSetLiteral > fC.fChar) {
+        if (fLastSetLiteral == U_SENTINEL || fLastSetLiteral > fC.fChar) {
             error(U_REGEX_INVALID_RANGE);
         }
         UnicodeSet *s = (UnicodeSet *)fSetStack.peek();
