diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Core/XmlEncodedRawTextWriter.cs b/src/libraries/System.Private.Xml/src/System/Xml/Core/XmlEncodedRawTextWriter.cs index 91a9b6d52ec9f..038222f073106 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Core/XmlEncodedRawTextWriter.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Core/XmlEncodedRawTextWriter.cs @@ -160,11 +160,8 @@ public XmlEncodedRawTextWriter(Stream stream, XmlWriterSettings settings) : this // grab bom before possibly changing encoding settings ReadOnlySpan bom = _encoding.Preamble; - // the encoding instance this creates can differ from the one passed in - this._encoding = Encoding.GetEncoding( - settings.Encoding.CodePage, - _charEntityFallback, - settings.Encoding.DecoderFallback); + _encoding = (Encoding)settings.Encoding.Clone(); + _encoding.EncoderFallback = _charEntityFallback; _encoder = _encoding.GetEncoder();