diff --git a/frontends/sdl/src/main.rs b/frontends/sdl/src/main.rs
index 28f23c0a05924f3ebf811ca444ac603997a724c4..af1e03884201235ef5f23f132b9851071ffc8839 100644
--- a/frontends/sdl/src/main.rs
+++ b/frontends/sdl/src/main.rs
@@ -344,8 +344,8 @@ impl Emulator {
             // then we've reached the time to re-save the battery backed RAM
             // into a *.sav file in the file system
             if counter % store_count == 0 && self.system.rom().has_battery() {
-                let ram_data = self.system.ram_data_eager();
-                write_file(&self.ram_path, &ram_data);
+                let ram_data = self.system.rom().ram_data();
+                write_file(&self.ram_path, ram_data);
             }
 
             // obtains an event from the SDL sub-system to be
diff --git a/src/rom.rs b/src/rom.rs
index f793667fa3d84c9f5c63627effbd6ae50f3a08e6..c4cc53887f67335f166000d58462c5532f8e4a35 100644
--- a/src/rom.rs
+++ b/src/rom.rs
@@ -621,6 +621,16 @@ impl Cartridge {
     }
 }
 
+impl Cartridge {
+    pub fn rom_data(&self) -> &Vec<u8> {
+        &self.rom_data
+    }
+
+    pub fn ram_data(&self) -> &Vec<u8> {
+        &self.ram_data
+    }
+}
+
 impl Default for Cartridge {
     fn default() -> Self {
         Self::new()