diff --git a/mesecons/settings.lua b/mesecons/settings.lua
index 164cb57346b62e4ea72e9028694d88a67e748c67..50240c3503165dc2b894202da2eadff0d62f602b 100644
--- a/mesecons/settings.lua
+++ b/mesecons/settings.lua
@@ -1,7 +1,12 @@
 -- SETTINGS
 function mesecon.setting(setting, default)
-	if type(default) == "bool" then
-		return minetest.setting_getbool("mesecon."..setting) or default
+	if type(default) == "boolean" then
+		local read = minetest.setting_getbool("mesecon."..setting)
+		if read == nil then
+			return default
+		else
+			return read
+		end
 	elseif type(default) == "string" then
 		return minetest.setting_get("mesecon."..setting) or default
 	elseif type(default) == "number" then