diff --git a/crystal.lua b/crystal.lua
index 56afe08aa4db8362f9651368d251166afd47226f..e90ae400e72310502bb85209fb62178d5b4b6b04 100644
--- a/crystal.lua
+++ b/crystal.lua
@@ -206,7 +206,7 @@ minetest.register_tool("ethereal:shovel_crystal", {
 				itemstack:add_wear(65535 / 100) -- 111 uses
 			end
 
-			minetest.sound_play("default_dig_crumbly", {pos = pos, gain = 0.35})
+			minetest.sound_play("default_dig_crumbly", {pos = pos, gain = 0.4})
 
 			return itemstack
 		end
diff --git a/water.lua b/water.lua
index 60c4dbf40c9d7124b48991685c0e907740b8fe09..48eb525b3aaf0372d0c07213096d95a8aa2a4045 100644
--- a/water.lua
+++ b/water.lua
@@ -127,7 +127,7 @@ if ethereal.torchdrop == true then
 
 minetest.register_abm({
 	label = "Ethereal drop torch",
-	nodenames = {"default:torch", "group:torch"}, -- group:torch for new 3d torches
+	nodenames = {"default:torch", "default:torch_wall", "default:torch_ceiling"},
 	neighbors = {"group:water"},
 	interval = 5,
 	chance = 1,
@@ -138,20 +138,21 @@ minetest.register_abm({
 			{x = pos.x - 1, y = pos.y, z = pos.z},
 			{x = pos.x + 1, y = pos.y, z = pos.z},
 			{"group:water"})
-
+if num == 0 then
 		num = num + #minetest.find_nodes_in_area(
 			{x = pos.x, y = pos.y, z = pos.z - 1},
 			{x = pos.x, y = pos.y, z = pos.z + 1},
 			{"group:water"})
-
+end
+if num == 0 then
 		num = num + #minetest.find_nodes_in_area(
 			{x = pos.x, y = pos.y + 1, z = pos.z},
 			{x = pos.x, y = pos.y + 1, z = pos.z},
 			{"group:water"})
-
+end
 		if num > 0 then
 
-			minetest.swap_node(pos, {name = "air"})
+			minetest.set_node(pos, {name = "air"})
 
 			minetest.add_item(pos, {name = "default:torch"})
 		end