diff --git a/library/Rattletrap/Decode/RemoteId.hs b/library/Rattletrap/Decode/RemoteId.hs
--- a/library/Rattletrap/Decode/RemoteId.hs
+++ b/library/Rattletrap/Decode/RemoteId.hs
@@ -17,13 +17,14 @@
 import qualified Data.Word as Word
 
 decodeRemoteIdBits :: (Int, Int, Int) -> Word8le -> DecodeBits RemoteId
-decodeRemoteIdBits (_, _, patch) systemId = case word8leValue systemId of
+decodeRemoteIdBits version systemId = case word8leValue systemId of
   0 -> RemoteIdSplitscreen <$> getWord32be 24
   1 -> RemoteIdSteam <$> decodeWord64leBits
-  2 -> RemoteIdPlayStation <$> decodePsName <*> decodePsBytes patch
+  2 -> RemoteIdPlayStation <$> decodePsName <*> decodePsBytes version
   4 -> RemoteIdXbox <$> decodeWord64leBits
   6 -> RemoteIdSwitch <$> decodeBitstreamBits 256
-  7 -> RemoteIdPsyNet <$> decodeBitstreamBits 256
+  7 -> RemoteIdPsyNet
+    <$> decodeBitstreamBits (if version >= (868, 24, 10) then 64 else 256)
   _ -> fail ("unknown system id " <> show systemId)
 
 decodePsName :: DecodeBits Text.Text
@@ -31,6 +32,6 @@
   (Text.dropWhileEnd (== '\x00') . Text.decodeLatin1 . reverseBytes)
   (getByteStringBits 16)
 
-decodePsBytes :: Int -> DecodeBits [Word.Word8]
-decodePsBytes patch =
-  Bytes.unpack <$> getByteStringBits (if patch >= 1 then 24 else 16)
+decodePsBytes :: (Int, Int, Int) -> DecodeBits [Word.Word8]
+decodePsBytes version = Bytes.unpack
+  <$> getByteStringBits (if version >= (868, 20, 1) then 24 else 16)
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: rattletrap
-version: 6.3.1
+version: 6.3.2
 
 category: Game
 description: Rattletrap parses and generates Rocket League replays.
diff --git a/rattletrap.cabal b/rattletrap.cabal
--- a/rattletrap.cabal
+++ b/rattletrap.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 2606d1789b9e319765a5fc179c33f8d5445634713c67a75fb920906db82f226a
+-- hash: d1e9e72fdcd895e0e8ec255f4395621556c0110c943adcf27ce20d71afe2e849
 
 name:           rattletrap
-version:        6.3.1
+version:        6.3.2
 synopsis:       Parse and generate Rocket League replays.
 description:    Rattletrap parses and generates Rocket League replays.
 category:       Game
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -160,6 +160,7 @@
   , ("afb1", "patch 1.37")
   , ("b9f9", "a party leader")
   , ("c14f", "some mutators")
+  , ("c23b", "new psynet id")
   , ("c837", "a spectator")
   , ("cc4c", "after Starbase ARC")
   , ("d044", "hoops mutators")
