diff --git a/src/lua_baselib.c b/src/lua_baselib.c
index e07161029cc20f3034a29bad9f6dc8caf986ad74..74a752801282103480266bc85cb7fb7c50424e73 100644
--- a/src/lua_baselib.c
+++ b/src/lua_baselib.c
@@ -756,6 +756,20 @@ static int lib_pSpawnThokMobj(lua_State *L)
 	return 0;
 }
 
+static int lib_pSpawnSpinMobj(lua_State *L)
+{
+	player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER));
+	mobjtype_t type = luaL_checkinteger(L, 2);
+	NOHUD
+	if (!player)
+		return LUA_ErrInvalid(L, "player_t");
+	if (type > MT_LASTFREESLOT)
+		return luaL_error(L, "mobjtype_t out of bounds error!");
+	P_SpawnSpinMobj(player, type);
+	return 0;
+}
+
+
 // P_MAP
 ///////////
 
@@ -1653,6 +1667,7 @@ static luaL_Reg lib[] = {
 	{"P_SuperReady",lib_pSuperReady},
 	{"P_DoJump",lib_pDoJump},
 	{"P_SpawnThokMobj",lib_pSpawnThokMobj},
+	{"P_SpawnSpinMobj",lib_pSpawnSpinMobj},
 
 	// p_map
 	{"P_CheckPosition",lib_pCheckPosition},