diff --git a/game/engines/default/engine/Savefile.lua b/game/engines/default/engine/Savefile.lua
index 2b2bb8863e0b589d36757c2ff3acbfb2512821a6..7a9ae2e55bb884736baf9e08a1dcce4df7d8c7cb 100644
--- a/game/engines/default/engine/Savefile.lua
+++ b/game/engines/default/engine/Savefile.lua
@@ -138,7 +138,7 @@ function _M:saveWorld(world, no_dialog)
 	local zip = fs.zipOpen(self.save_dir..self:nameSaveWorld(world)..".tmp")
 	self:saveObject(world, zip)
 	zip:close()
-	fs.delete(self.save_dir..self:nameSaveLevel(level))
+	fs.delete(self.save_dir..self:nameSaveWorld(world))
 	fs.rename(self.save_dir..self:nameSaveWorld(world)..".tmp", self.save_dir..self:nameSaveWorld(world))
 
 	if not no_dialog then game:unregisterDialog(popup) end
@@ -197,7 +197,7 @@ function _M:saveGame(game, no_dialog)
 	local zip = fs.zipOpen(self.save_dir..self:nameSaveGame(game)..".tmp")
 	self:saveObject(game, zip)
 	zip:close()
-	fs.delete(self.save_dir..self:nameSaveLevel(level))
+	fs.delete(self.save_dir..self:nameSaveGame(game))
 	fs.rename(self.save_dir..self:nameSaveGame(game)..".tmp", self.save_dir..self:nameSaveGame(game))
 
 	local desc = game:getSaveDescription()
@@ -233,7 +233,7 @@ function _M:saveZone(zone, no_dialog)
 	local zip = fs.zipOpen(self.save_dir..self:nameSaveZone(zone)..".tmp")
 	self:saveObject(zone, zip)
 	zip:close()
-	fs.delete(self.save_dir..self:nameSaveLevel(level))
+	fs.delete(self.save_dir..self:nameSaveZone(zone))
 	fs.rename(self.save_dir..self:nameSaveZone(zone)..".tmp", self.save_dir..self:nameSaveZone(zone))
 
 	if not no_dialog then game:unregisterDialog(popup) end