--- a/net/minecraft/world/level/block/BaseRailBlock.java
+++ b/net/minecraft/world/level/block/BaseRailBlock.java
@@ -65,6 +65,7 @@
         state = this.updateDir(world, pos, state, true);
         if (this.isStraight) {
             world.neighborChanged(state, pos, this, pos, notify);
+            state = world.getBlockState(pos); // Paper - don't desync, update again
         }
 
         return state;
