diff --git a/src/lua_baselib.c b/src/lua_baselib.c
index 8e78c9b255d24f7be59b272e552e9c7c8e2237dd..4f78f13718c024ef4bb37750063e8d10dbd97080 100644
--- a/src/lua_baselib.c
+++ b/src/lua_baselib.c
@@ -4144,6 +4144,13 @@ static int lib_kGetWaypointID(lua_State *L)
 	return 1;
 }
 
+static int lib_kGetCircuitLength(lua_State *L)
+{
+	INLEVEL
+	lua_pushinteger(L, K_GetCircuitLength());
+	return 1;
+}
+
 static int lib_getTimeMicros(lua_State *L)
 {
 	lua_pushinteger(L, I_GetPreciseTime() / (I_GetPrecisePrecision() / 1000000));
@@ -4439,6 +4446,7 @@ static luaL_Reg lib[] = {
 	{"K_GetWaypointIsSpawnpoint", lib_kGetWaypointIsSpawnpoint},
 	{"K_GetWaypointNextID", lib_kGetWaypointNextID},
 	{"K_GetWaypointID", lib_kGetWaypointID},
+	{"K_GetCircuitLength", lib_kGetCircuitLength},
 
 	// hu_stuff technically?
 	{"HU_DoTitlecardCEcho", lib_startTitlecardCecho},