diff --git a/src/mechanisms.lua b/src/mechanisms.lua
index ada0afed52a46f772d48d3d5db126740297c8433..20fac81d43ac9eac517d2a331f16405a6ea06665 100644
--- a/src/mechanisms.lua
+++ b/src/mechanisms.lua
@@ -6,6 +6,7 @@ local plate = {}
 screwdriver = screwdriver or {}
 
 local function door_toggle(pos_actuator, pos_door, player)
+	local player_name = player:get_player_name()
 	local actuator = minetest.get_node(pos_actuator)
 	local door = doors.get(pos_door)
 
@@ -13,14 +14,14 @@ local function door_toggle(pos_actuator, pos_door, player)
 		minetest.set_node(pos_actuator,
 			{name=actuator.name:gsub("_off", "_on"), param2=actuator.param2})
 	end
-	door:open(player)
+	door:open(player_name)
 
 	minetest.after(2, function()
 		if minetest.get_node(pos_actuator).name:sub(-3) == "_on" then
 			minetest.set_node(pos_actuator,
 				{name=actuator.name, param2=actuator.param2})
 		end
-		door:close(player)
+		door:close(player_name)
 	end)
 end