diff --git a/icu4c/source/i18n/plurfmt.cpp b/icu4c/source/i18n/plurfmt.cpp index 980eb01a76..4424034ac8 100644 --- a/icu4c/source/i18n/plurfmt.cpp +++ b/icu4c/source/i18n/plurfmt.cpp @@ -122,6 +122,13 @@ PluralFormat::PluralFormat(const PluralFormat& other) void PluralFormat::copyObjects(const PluralFormat& other) { UErrorCode status = U_ZERO_ERROR; + if (numberFormat != NULL) { + delete numberFormat; + } + if (pluralRulesWrapper.pluralRules != NULL) { + delete pluralRulesWrapper.pluralRules; + } + if (other.numberFormat == NULL) { numberFormat = NumberFormat::createInstance(locale, status); } else {