diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg
index c72603cc66594ccd5b3db3b2abffd6daef7fa816..d5af8fb90d86473a1ffb0fb49877e6dd6ddedeb0 100644
--- a/extras/conf/udb/Includes/SRB222_things.cfg
+++ b/extras/conf/udb/Includes/SRB222_things.cfg
@@ -3752,6 +3752,11 @@ udmf
 			sprite = "PTERA2A8";
 			width = 16;
 			height = 16;
+			arg0
+			{
+				title = "Number of Pterabytes";
+				default = 1;
+			}
 		}
 		136
 		{
diff --git a/src/p_enemy.c b/src/p_enemy.c
index 64b21809f8b367573c358ff834afdc1b692199ae..079ae5e64fe307e2fbc94e61cecad4014b104491 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -14270,7 +14270,7 @@ void A_SpawnPterabytes(mobj_t *actor)
 		return;
 
 	if (actor->spawnpoint)
-		amount = actor->spawnpoint->extrainfo + 1;
+		amount = min(1, actor->spawnpoint->args[0]);
 
 	interval = FixedAngle(FRACUNIT*360/amount);
 
diff --git a/src/p_setup.c b/src/p_setup.c
index 8d6b3e5de7d5dddaf8e2c01d1632377e8297fb5d..9ef53911057d52e4031f465d9f2a27a637d57d17 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -4893,6 +4893,9 @@ static void P_ConvertBinaryMap(void)
 		case 127: //Hive Elemental
 			mapthings[i].args[0] = mapthings[i].extrainfo;
 			break;
+		case 135: //Pterabyte Spawner
+			mapthings[i].args[0] = mapthings[i].extrainfo + 1;
+			break;
 		case 502: //Star post
 			if (mapthings[i].extrainfo)
 				// Allow thing Parameter to define star post num too!