diff --git a/mods/default/aliases.lua b/mods/default/aliases.lua
index 203cd61..64e6ebb 100644
--- a/mods/default/aliases.lua
+++ b/mods/default/aliases.lua
@@ -68,5 +68,9 @@ minetest.register_alias("steel_ingot", "default:steel_ingot")
 minetest.register_alias("clay_brick", "default:clay_brick")
 minetest.register_alias("snow", "default:snow")
 
--- Mese now comes in the form of blocks, ore, crystal and fragments
+-- 'mese_block' was used for a while for the block form of mese
 minetest.register_alias("default:mese_block", "default:mese")
+
+-- Aliases for corrected pine node names
+minetest.register_alias("default:pinetree", "default:pine_tree")
+minetest.register_alias("default:pinewood", "default:pine_wood")
diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua
index 304b203..fa8df2d 100644
--- a/mods/default/crafting.lua
+++ b/mods/default/crafting.lua
@@ -15,9 +15,9 @@ minetest.register_craft({
 })
 
 minetest.register_craft({
-	output = 'default:pinewood 4',
+	output = 'default:pine_wood 4',
 	recipe = {
-		{'default:pinetree'},
+		{'default:pine_tree'},
 	}
 })
 
diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua
index 661c8a0..c40f220 100644
--- a/mods/default/mapgen.lua
+++ b/mods/default/mapgen.lua
@@ -26,7 +26,7 @@ minetest.register_alias("mapgen_apple", "default:apple")
 minetest.register_alias("mapgen_jungletree", "default:jungletree")
 minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves")
 minetest.register_alias("mapgen_junglegrass", "default:junglegrass")
-minetest.register_alias("mapgen_pinetree", "default:pinetree")
+minetest.register_alias("mapgen_pine_tree", "default:pine_tree")
 minetest.register_alias("mapgen_pine_needles", "default:pine_needles")
 
 -- Dungeons
diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua
index 2b70fff..f70e6b6 100644
--- a/mods/default/nodes.lua
+++ b/mods/default/nodes.lua
@@ -1,5 +1,15 @@
 -- mods/default/nodes.lua
 
+
+--[[ Node name convention:
+
+Although many node names are in combined-word form, the required form for new
+node names is words separated by underscores. If both forms are used in written
+language (for example pinewood and pine wood) the underscore form should be used.
+
+--]]
+
+
 --[[ Index:
 
 Stone
@@ -58,8 +68,8 @@ default:junglewood
 default:jungleleaves
 default:junglesapling
 
-default:pinetree
-default:pinewood
+default:pine_tree
+default:pine_wood
 default:pine_needles
 default:pine_sapling
 
@@ -562,13 +572,10 @@ minetest.register_node("default:junglesapling", {
 
 
 
-minetest.register_node("default:pinetree", {
+minetest.register_node("default:pine_tree", {
 	description = "Pine Tree",
-	tiles = {
-		"default_pinetree_top.png",
-		"default_pinetree_top.png",
-		"default_pinetree.png"
-	},
+	tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png",
+		"default_pine_tree.png"},
 	paramtype2 = "facedir",
 	is_ground_content = false,
 	groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
@@ -577,9 +584,9 @@ minetest.register_node("default:pinetree", {
 	on_place = minetest.rotate_node
 })
 
-minetest.register_node("default:pinewood", {
-	description = "Pinewood Planks",
-	tiles = {"default_pinewood.png"},
+minetest.register_node("default:pine_wood", {
+	description = "Pine Wood Planks",
+	tiles = {"default_pine_wood.png"},
 	is_ground_content = false,
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
 	sounds = default.node_sound_wood_defaults(),
@@ -620,23 +627,15 @@ minetest.register_node("default:pine_sapling", {
 		type = "fixed",
 		fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
 	},
-	groups = {
-		snappy = 2,
-		dig_immediate = 3,
-		flammable = 2,
-		attached_node = 1,
-		sapling = 1
-	},
+	groups = {snappy = 2, dig_immediate = 3, flammable = 2,
+		attached_node = 1, sapling = 1},
 	sounds = default.node_sound_leaves_defaults(),
 })
 
 minetest.register_node("default:acacia_tree", {
 	description = "Acacia Tree",
-	tiles = {
-		"default_acacia_tree_top.png",
-		"default_acacia_tree_top.png",
-		"default_acacia_tree.png"
-	},
+	tiles = {"default_acacia_tree_top.png", "default_acacia_tree_top.png",
+		"default_acacia_tree.png"},
 	paramtype2 = "facedir",
 	is_ground_content = false,
 	groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
@@ -687,13 +686,8 @@ minetest.register_node("default:acacia_sapling", {
 		type = "fixed",
 		fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
 	},
-	groups = {
-		snappy = 2,
-		dig_immediate = 3,
-		flammable = 2,
-		attached_node = 1,
-		sapling = 1
-	},
+	groups = {snappy = 2, dig_immediate = 3, flammable = 2,
+		attached_node = 1, sapling = 1},
 	sounds = default.node_sound_leaves_defaults(),
 })
 
diff --git a/mods/default/schematics/pine_tree.mts b/mods/default/schematics/pine_tree.mts
index 3f4eeb0..9eb6302 100644
Binary files a/mods/default/schematics/pine_tree.mts and b/mods/default/schematics/pine_tree.mts differ
diff --git a/mods/default/textures/default_pinetree.png b/mods/default/textures/default_pine_tree.png
similarity index 100%
rename from mods/default/textures/default_pinetree.png
rename to mods/default/textures/default_pine_tree.png
diff --git a/mods/default/textures/default_pinetree_top.png b/mods/default/textures/default_pine_tree_top.png
similarity index 100%
rename from mods/default/textures/default_pinetree_top.png
rename to mods/default/textures/default_pine_tree_top.png
diff --git a/mods/default/textures/default_pinewood.png b/mods/default/textures/default_pine_wood.png
similarity index 100%
rename from mods/default/textures/default_pinewood.png
rename to mods/default/textures/default_pine_wood.png
diff --git a/mods/default/trees.lua b/mods/default/trees.lua
index 4f2b229..c55708c 100644
--- a/mods/default/trees.lua
+++ b/mods/default/trees.lua
@@ -237,7 +237,7 @@ function default.grow_pine_tree(pos)
 
 	local c_air = minetest.get_content_id("air")
 	local c_ignore = minetest.get_content_id("ignore")
-	local c_pinetree = minetest.get_content_id("default:pinetree")
+	local c_pine_tree = minetest.get_content_id("default:pine_tree")
 	local c_pine_needles  = minetest.get_content_id("default:pine_needles")
 	local c_snow = minetest.get_content_id("default:snow")
 	local c_snowblock = minetest.get_content_id("default:snowblock")
@@ -341,12 +341,13 @@ function default.grow_pine_tree(pos)
 	end
 
 	-- Trunk
-	data[a:index(x, y, z)] = c_pinetree -- Force-place lowest trunk node to replace sapling
+	data[a:index(x, y, z)] = c_pine_tree -- Force-place lowest trunk node to replace sapling
 	for yy = y + 1, maxy do
 		local vi = a:index(x, yy, z)
 		local node_id = data[vi]
-		if node_id == c_air or node_id == c_ignore or node_id == c_pine_needles then
-			data[vi] = c_pinetree
+		if node_id == c_air or node_id == c_ignore or
+				node_id == c_pine_needles or node_id == c_snow then
+			data[vi] = c_pine_tree
 		end
 	end
 
diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua
index 078a3a2..7e752d1 100644
--- a/mods/stairs/init.lua
+++ b/mods/stairs/init.lua
@@ -234,11 +234,11 @@ stairs.register_stair_and_slab("junglewood", "default:junglewood",
 		"Junglewood Slab",
 		default.node_sound_wood_defaults())
 
-stairs.register_stair_and_slab("pinewood", "default:pinewood",
+stairs.register_stair_and_slab("pine_wood", "default:pine_wood",
 		{snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-		{"default_pinewood.png"},
-		"Pinewood Stair",
-		"Pinewood Slab",
+		{"default_pine_wood.png"},
+		"Pine Wood Stair",
+		"Pine Wood Slab",
 		default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("acacia_wood", "default:acacia_wood",