diff --git a/homedecor/crafts.lua b/homedecor/crafts.lua
index a139063fb388ba757b049e3f79abb6b4ed18e5ce..f9edb539549fb5de744c76ec6cf723f537eba5a3 100644
--- a/homedecor/crafts.lua
+++ b/homedecor/crafts.lua
@@ -3273,6 +3273,19 @@ for i in ipairs(homedecor.banister_materials) do
 	})
 end
 
+unifieddyes.register_color_craft({
+	output = "",
+	palette = "split",
+	neutral_node = "homedecor:banister_wood_horizontal",
+	type = "shapeless",
+	output_prefix = "homedecor:banister_wood_horizontal_",
+	output_suffix = "",
+	recipe = {
+		"NEUTRAL_NODE",
+		"MAIN_DYE",
+	}
+})
+
 if (minetest.get_modpath("technic") and minetest.get_modpath("dye") and minetest.get_modpath("bees")) then
 	technic.register_separating_recipe({ input = {"bees:wax 1"}, output = {"homedecor:oil_extract 2","dye:yellow 1"} })
 end
diff --git a/homedecor/handlers/expansion.lua b/homedecor/handlers/expansion.lua
index 779e0770b9c42656b1b6a4e1823dd3935e4c241f..bd87e90ef2d56133e514777b77c4dd0f16f367a8 100644
--- a/homedecor/handlers/expansion.lua
+++ b/homedecor/handlers/expansion.lua
@@ -257,6 +257,8 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
 	if not pos then return itemstack end
 
 	local fdir = minetest.dir_to_facedir(placer:get_look_dir())
+	local meta = itemstack:get_meta()
+	local pindex = meta:get_int("palette_index")
 
 	local abovepos  = { x=pos.x, y=pos.y+1, z=pos.z }
 	local abovenode = minetest.get_node(abovepos)
@@ -371,7 +373,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
 		end
 	end
 
-	minetest.set_node(pos, {name = new_place_name, param2 = fdir})
+	minetest.set_node(pos, {name = new_place_name, param2 = fdir+pindex})
 	itemstack:take_item()
 	return itemstack
 end
diff --git a/homedecor/misc-nodes.lua b/homedecor/misc-nodes.lua
index 72830d59720d7dd07fd36995fd0857ac460cc3e5..4d52e56b97938d8a4329b62ac59fbed65b05e38d 100644
--- a/homedecor/misc-nodes.lua
+++ b/homedecor/misc-nodes.lua
@@ -483,23 +483,19 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
 		local name, matdesc, tile1, tile2 = unpack(mat)
 		local nodename = "banister_"..name.."_"..side
 
-		local groups = { snappy = 3, not_in_creative_inventory = 1 }
 		local cbox = {
 			type = "fixed",
 			fixed = { -9/16, -3/16, 5/16, 9/16, 24/16, 8/16 }
 		}
 
 		if side == "horizontal" then
-			groups = { snappy = 3 }
 			cbox = {
 				type = "fixed",
 				fixed = { -8/16, -8/16, 5/16, 8/16, 8/16, 8/16 }
 			}
-		else
-			minetest.register_alias(string.gsub("homedecor:"..nodename, "diagonal_", ""), "homedecor:"..nodename)
 		end
 
-		homedecor.register(nodename, {
+		local def = {
 			description = S("Banister for Stairs (@1, @2)", matdesc, sidedesc),
 			mesh = "homedecor_banister_"..side..".obj",
 			tiles = {
@@ -507,12 +503,35 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
 				tile2,
 			},
 			inventory_image = "homedecor_banister_"..name.."_inv.png",
-			groups = groups,
 			selection_box = cbox,
 			collision_box = cbox,
+			groups = { snappy = 3},
 			on_place = homedecor.place_banister,
 			drop = "homedecor:banister_"..name.."_horizontal",
-		})
+		}
+
+		if side ~= "horizontal" then
+			def.groups.not_in_creative_inventory = 1 
+		end
+
+		if name == "wood" then
+			def.airbrush_replacement_node = "homedecor:banister_wood_"..side.."_grey"
+			def.groups.ud_param2_colorable = 1
+			def.paramtype2 = "colorfacedir"
+		end
+		homedecor.register(nodename, def)
+
+		if name == "wood" then
+			local nn = "homedecor:"..nodename
+			local def2 = table.copy(minetest.registered_items[nn])
+			def2.tiles = {
+				homedecor.white_wood,
+				homedecor.white_wood
+			}
+			def2.inventory_image = "homedecor_banister_wood_colored_inv.png"
+
+			unifieddyes.generate_split_palette_nodes(nn, def2, "homedecor:banister_"..name.."_horizontal")
+		end
 	end
 end
 
diff --git a/homedecor/textures/homedecor_banister_wood_colored_inv.png b/homedecor/textures/homedecor_banister_wood_colored_inv.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c1a7ee752931d561c656cac06cd0434a503003e
Binary files /dev/null and b/homedecor/textures/homedecor_banister_wood_colored_inv.png differ