diff --git a/src/lua_baselib.c b/src/lua_baselib.c
index ae86b526d26e2e83cf7e909471c68424c290621a..eab59266e77df330ec61f2c367e117210f25a9fb 100644
--- a/src/lua_baselib.c
+++ b/src/lua_baselib.c
@@ -4160,6 +4160,13 @@ static int lib_kGetCircuitLength(lua_State *L)
 	return 1;
 }
 
+static int lib_kGetTrackComplexity(lua_State *L)
+{
+	INLEVEL
+	lua_pushinteger(L, K_GetTrackComplexity());
+	return 1;
+}
+
 static int lib_getTimeMicros(lua_State *L)
 {
 	lua_pushinteger(L, I_GetPreciseTime() / (I_GetPrecisePrecision() / 1000000));
@@ -4457,6 +4464,7 @@ static luaL_Reg lib[] = {
 	{"K_GetWaypointID", lib_kGetWaypointID},
 	{"K_GetWaypointFromID", lib_kGetWaypointFromID},
 	{"K_GetCircuitLength", lib_kGetCircuitLength},
+	{"K_GetTrackComplexity", lib_kGetTrackComplexity},
 
 	// hu_stuff technically?
 	{"HU_DoTitlecardCEcho", lib_startTitlecardCecho},