diff --git a/mods/beds/api.lua b/mods/beds/api.lua
index ef07fc00740adddc5e1477667767da585595c627..c545a201d584960b0c4e6dc2c2c97e2ac6345065 100644
--- a/mods/beds/api.lua
+++ b/mods/beds/api.lua
@@ -109,7 +109,7 @@ function beds.register_bed(name, def)
 			return itemstack
 		end,
 
-		on_rotate = function(pos, node, user, mode, new_param2)
+		on_rotate = function(pos, node, user, _, new_param2)
 			local dir = minetest.facedir_to_dir(node.param2)
 			local p = vector.add(pos, dir)
 			local node2 = minetest.get_node_or_nil(p)
@@ -121,7 +121,7 @@ function beds.register_bed(name, def)
 				minetest.record_protection_violation(p, user:get_player_name())
 				return false
 			end
-			if mode ~= screwdriver.ROTATE_FACE then
+			if new_param2 % 32 > 3 then
 				return false
 			end
 			local newp = vector.add(pos, minetest.facedir_to_dir(new_param2))