diff --git a/System/OsString/Data/ByteString/Short/Internal.hs b/System/OsString/Data/ByteString/Short/Internal.hs
--- a/System/OsString/Data/ByteString/Short/Internal.hs
+++ b/System/OsString/Data/ByteString/Short/Internal.hs
@@ -311,7 +311,11 @@
 word16ToLE#, word16FromLE# :: Word# -> Word#
 #endif
 #ifdef WORDS_BIGENDIAN
+#if MIN_VERSION_base(4,16,0)
+word16ToLE# w = wordToWord16# (byteSwap16# (word16ToWord# w))
+#else
 word16ToLE# = byteSwap16#
+#endif
 #else
 word16ToLE# w# = w#
 #endif
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 # Changelog for [`os-string` package](http://hackage.haskell.org/package/os-string)
 
+## 2.0.2.2 *May 2024*
+
+* Fix compilation on big-endian arches, by Andrew Lelechenko
+
 ## 2.0.2.1 *Apr 2024*
 
 * Fix compabitiliby with GHC 9.10
diff --git a/os-string.cabal b/os-string.cabal
--- a/os-string.cabal
+++ b/os-string.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               os-string
-version:            2.0.2.1
+version:            2.0.2.2
 
 -- NOTE: Don't forget to update ./changelog.md
 license:            BSD-3-Clause
