diff --git a/mods/sethome/init.lua b/mods/sethome/init.lua
index bad7806de83dd05dc22ad76392c5b98704758f77..71874a99172972f883b9a68f35b5c037ca6fccf2 100644
--- a/mods/sethome/init.lua
+++ b/mods/sethome/init.lua
@@ -32,6 +32,9 @@ sethome.set = function(name, pos)
 	player:set_attribute("sethome:home", minetest.pos_to_string(pos))
 
 	-- remove `name` from the old storage file
+	if not homepos[name] then
+		return true
+	end
 	local data = {}
 	local output = io.open(homes_file, "w")
 	if output then