diff --git a/builtin/game/register.lua b/builtin/game/register.lua
index d3f6b3df89f69fb797dcf1dc989dd59cb7606dcd..90f095e9fc51f56be97875b78654051568a3c8ab 100644
--- a/builtin/game/register.lua
+++ b/builtin/game/register.lua
@@ -128,7 +128,9 @@ function core.register_item(name, itemdef)
 			}
 		end
 		if itemdef.light_source and itemdef.light_source > core.LIGHT_MAX then
-			error("Unable to register node: 'light_source' exceeds maximum: " .. name)
+			itemdef.light_source = core.LIGHT_MAX
+			core.log("warning", "Node 'light_source' value exceeds maximum," ..
+				" limiting to maximum: " ..name)
 		end
 		setmetatable(itemdef, {__index = core.nodedef_default})
 		core.registered_nodes[itemdef.name] = itemdef