diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm
index 066c621572..428819f897 100644
--- a/code/controllers/subsystem/mobs.dm
+++ b/code/controllers/subsystem/mobs.dm
@@ -7,7 +7,6 @@ SUBSYSTEM_DEF(mobs)
var/list/currentrun = list()
var/static/list/clients_by_zlevel[][]
var/static/list/cubemonkeys = list()
- var/cubemonkeycap = 64
/datum/controller/subsystem/mobs/stat_entry()
..("P:[GLOB.mob_living_list.len]")
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 28ba50a308..d1d9c4370e 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -33,9 +33,10 @@
. = ..()
if (cubespawned)
- if (LAZYLEN(SSmobs.cubemonkeys) > SSmobs.cubemonkeycap)
+ var/cap = CONFIG_GET(number/monkeycap)
+ if (LAZYLEN(SSmobs.cubemonkeys) > cap)
if (spawner)
- to_chat(spawner, "Bluespace harmonics prevent the spawning of more than [SSmobs.cubemonkeycap] monkeys on the station at one time!")
+ to_chat(spawner, "Bluespace harmonics prevent the spawning of more than [cap] monkeys on the station at one time!")
return INITIALIZE_HINT_QDEL
SSmobs.cubemonkeys += src
diff --git a/config/game_options.txt b/config/game_options.txt
index 6ecec1fc9e..48e2dc5607 100644
--- a/config/game_options.txt
+++ b/config/game_options.txt
@@ -551,3 +551,6 @@ ROUNDSTART_TRAITS
## Sets shift time to server time at roundstart. Overridden by RANDOMIZE_SHIFT_TIME ##
#SHIFT_TIME_REALTIME
+
+## A cap on how many monkeys may be created via monkey cubes
+MONKEYCAP 64