diff --git a/mesecons/services.lua b/mesecons/services.lua
index 1e12de08e6a4d6ff3b224f9ec344a8fd5f29e6dd..831f6f31dda38921e6fd5fbff4515d6bb003b47c 100644
--- a/mesecons/services.lua
+++ b/mesecons/services.lua
@@ -21,7 +21,8 @@ mesecon.on_placenode = function(pos, node)
 			end
 			--mesecon.receptor_on (pos, mesecon.conductor_get_rules(node))
 		elseif mesecon.is_conductor_on(node) then
-			minetest.swap_node(pos, {name = mesecon.get_conductor_off(node)})
+			node.name = mesecon.get_conductor_off(node)
+			minetest.swap_node(pos, node)
 		end
 	end