diff --git a/crystal.lua b/crystal.lua
index 2e9ecd2908221c252b3e719089c9597c3ee275c1..56afe08aa4db8362f9651368d251166afd47226f 100644
--- a/crystal.lua
+++ b/crystal.lua
@@ -195,13 +195,18 @@ minetest.register_tool("ethereal:shovel_crystal", {
 
 			nodeupdate(pos)
 
-			inv:add_item("main", {name = nn})
+			if minetest.setting_getbool("creative_mode") then
 
-			if not minetest.setting_getbool("creative_mode") then
+				if not inv:contains_item("main", {name = nn}) then
+					inv:add_item("main", {name = nn})
+				end
+			else
+
+				inv:add_item("main", {name = nn})
 				itemstack:add_wear(65535 / 100) -- 111 uses
 			end
 
-			minetest.sound_play("default_dirt_footstep", {pos = pos, gain = 0.35})
+			minetest.sound_play("default_dig_crumbly", {pos = pos, gain = 0.35})
 
 			return itemstack
 		end
diff --git a/dirt.lua b/dirt.lua
index b5f935560ea31db6b99b9b42852469a6e4dd804b..a84620578a9f90b9ec76754f0014ee66f75dfb2e 100644
--- a/dirt.lua
+++ b/dirt.lua
@@ -68,7 +68,9 @@ for n = 1, #dirts do
 			wet = "farming:soil_wet"
 		},
 		drop = "default:dirt",
-		sounds = default.node_sound_dirt_defaults()
+		sounds = default.node_sound_dirt_defaults({
+			footstep = {name = "default_grass_footstep", gain = 0.25},
+		}),
 	})
 
 end
diff --git a/stairs.lua b/stairs.lua
index 688db1fea6a21292ad0dd1c4b3e113d4defd4d85..1e89f483d9c89bfa2a0709b4601c2f90961993ca 100644
--- a/stairs.lua
+++ b/stairs.lua
@@ -5,7 +5,7 @@ local S = ethereal.intllib
 if stairs and stairs.mod and stairs.mod == "redo" then
 
 stairs.register_all("crystal_block", "ethereal:crystal_block",
-	{cracky = 1, level = 2},
+	{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
 	{"crystal_block.png"},
 	S("Crystal Block Stair"),
 	S("Crystal Block Slab"),
@@ -111,7 +111,7 @@ elseif minetest.global_exists("stairsplus") then
 stairsplus:register_all("ethereal", "crystal_block", "ethereal:crystal_block", {
 	description = S("Crystal block"),
 	tiles = {"crystal_block.png"},
-	groups = {cracky = 1, falling_node = 1, puts_out_fire = 1},
+	groups = {cracky = 1, falling_node = 1, puts_out_fire = 1, cools_lava = 1},
 	sounds = default.node_sound_glass_defaults(),
 })
 
@@ -213,7 +213,7 @@ stairsplus:register_all("ethereal", "bamboo_wood", "ethereal:bamboo_floor", {
 else
 
 stairs.register_stair_and_slab("crystal_block", "ethereal:crystal_block",
-	{cracky = 1, level = 2},
+	{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
 	{"crystal_block.png"},
 	S("Crystal Block Stair"),
 	S("Crystal Block Slab"),