diff --git a/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs b/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs index ac0fad583d9bcc..864b7425617963 100644 --- a/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs +++ b/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs @@ -1503,7 +1503,15 @@ private static unsafe int ApplyMask(Span toMask, int mask, int maskIndex) maskIndex = (maskIndex + 1) & 3; } - int rolledMask = (int)BitOperations.RotateRight((uint)mask, maskIndex * 8); + int rolledMask; + if (BitConverter.IsLittleEndian) + { + rolledMask = (int)BitOperations.RotateRight((uint)mask, maskIndex * 8); + } + else + { + rolledMask = (int)BitOperations.RotateLeft((uint)mask, maskIndex * 8); + } // use SIMD if possible.