diff --git a/game_api.txt b/game_api.txt
index 3d9d7a594359548b4e1345c5b9f3104c1b9e8c65..4eb2d7827109adf23eb339b5c6d3d7d36014c1df 100644
--- a/game_api.txt
+++ b/game_api.txt
@@ -46,6 +46,8 @@ The doors mod allows modders to register custom doors.
 	node_box_top = regular nodebox, see [Node boxes], OPTIONAL,
 	selection_box_bottom = regular nodebox, see [Node boxes], OPTIONAL,
 	selection_box_top = regular nodebox, see [Node boxes], OPTIONAL,
+	sound_open_door = sound play for open door, OPTIONAL,
+	sound_close_door = sound play for close door, OPTIONAL,
 	only_placer_can_open = true/false,
 	^ If true, only placer can open the door (locked for others)
 }
diff --git a/mods/doors/init.lua b/mods/doors/init.lua
index bb327b85fc54112aa512ec913cc5ae38f0874610..69416538901b36c90abb2262a35fcd4e663c85c5 100644
--- a/mods/doors/init.lua
+++ b/mods/doors/init.lua
@@ -46,6 +46,14 @@ function doors.register_door(name, def)
 		def.selection_box_top = box
 	end
 
+	if not def.sound_close_door then
+		def.sound_close_door = "door_close"
+	end
+	if not def.sound_open_door then
+		def.sound_open_door = "door_open"
+	end
+	
+	
 	minetest.register_craftitem(name, {
 		description = def.description,
 		inventory_image = def.inventory_image,
@@ -138,17 +146,17 @@ function doors.register_door(name, def)
 		pos.y = pos.y-dir
 		minetest.swap_node(pos, {name=replace, param2=p2})
 
-		local snd_1 = "_close"
-		local snd_2 = "_open"
+		local snd_1 = def.sound_close_door
+		local snd_2 = def.sound_open_door 
 		if params[1] == 3 then
-			snd_1 = "_open"
-			snd_2 = "_close"
+			snd_1 = def.sound_open_door 
+			snd_2 = def.sound_close_door
 		end
 
 		if is_right(pos) then
-			minetest.sound_play("door"..snd_1, {pos = pos, gain = 0.3, max_hear_distance = 10})
+			minetest.sound_play(snd_1, {pos = pos, gain = 0.3, max_hear_distance = 10})
 		else
-			minetest.sound_play("door"..snd_2, {pos = pos, gain = 0.3, max_hear_distance = 10})
+			minetest.sound_play(snd_2, {pos = pos, gain = 0.3, max_hear_distance = 10})
 		end
 	end