diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua
index 1b00ef3663d227fe1acf5a5d1123dc187b4e426b..95d694d0ff53de2827b44201a75bb10c00bef36f 100644
--- a/mods/stairs/init.lua
+++ b/mods/stairs/init.lua
@@ -71,13 +71,10 @@ function stairs.register_slab(subname, recipeitem, groups, images, description)
 			local p0 = pointed_thing.under
 			local p1 = pointed_thing.above
 			local n0 = minetest.env:get_node(p0)
-			local n1 = minetest.env:get_node(p1)
-			if n0.name == "stairs:slab_" .. subname then
+			if n0.name == "stairs:slab_" .. subname and
+					p0.y+1 == p1.y then
 				slabpos = p0
 				slabnode = n0
-			elseif n1.name == "stairs:slab_" .. subname then
-				slabpos = p1
-				slabnode = n1
 			end
 			if slabpos then
 				-- Remove the slab at slabpos