diff --git a/src/serialization/sb3.js b/src/serialization/sb3.js
index bb82390a1..8a9a813e0 100644
--- a/src/serialization/sb3.js
+++ b/src/serialization/sb3.js
@@ -500,7 +500,6 @@ const serializeMonitors = function (monitors) {
             opcode: monitorData.opcode,
             params: monitorData.params,
             spriteName: monitorData.spriteName,
-            value: monitorData.value,
             width: monitorData.width,
             height: monitorData.height,
             x: monitorData.x,
@@ -1189,6 +1188,11 @@ const deserializeMonitor = function (monitorData, runtime, targets, extensions)
         }
     }
 
+    // Don't load potentially stale monitor data
+    // e.g. loudness, answer, timer, and other blocks which depend on global or external state,
+    // as well as values which were updated whilst the monitor was hidden
+    monitorData.value = null;
+
     runtime.requestAddMonitor(MonitorRecord(monitorData));
 };