diff --git a/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.IStatable.cs b/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.IStatable.cs
index 3967538d00..58bc19667f 100644
--- a/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.IStatable.cs
+++ b/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.IStatable.cs
@@ -11,7 +11,12 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64
 			ser.Sync(nameof(Frame), ref _frame);
 			ser.Sync(nameof(IsLagFrame), ref _isLagFrame);
 			ser.Sync(nameof(LagCount), ref _lagCount);
+			var oldDisk = _currentDisk;
 			ser.Sync(nameof(CurrentDisk), ref _currentDisk);
+			if (oldDisk != _currentDisk)
+			{
+				InitDisk();
+			}
 			ser.Sync("PreviousDiskPressed", ref _prevPressed);
 			ser.Sync("NextDiskPressed", ref _nextPressed);
 			ser.BeginSection("Board");