diff --git a/src/lua_baselib.c b/src/lua_baselib.c
index ac9b6053d72399090e973e8824862f3f2e4b07b9..3acbd3d0f99007f37a0d3f1fa326e787dc2e8f2d 100644
--- a/src/lua_baselib.c
+++ b/src/lua_baselib.c
@@ -257,7 +257,7 @@ static int lib_registerMetatable(lua_State *L)
 	luaL_checktype(L, 1, LUA_TTABLE);
 
 	if (nextid == 0)
-		luaL_error(L, "Too many metatables registered?! Please consider rewriting your script once you are sober again.\n");
+		return luaL_error(L, "Too many metatables registered?! Please consider rewriting your script once you are sober again.\n");
 
 	lua_getfield(L, LUA_REGISTRYINDEX, LREG_METATABLES); // 2
 		// registry.metatables[metatable] = nextid