diff --git a/nsv13/code/modules/jobs/job_types/marine/midshipman.dm b/nsv13/code/modules/jobs/job_types/marine/midshipman.dm
index 3b91a0580ad..d69e18252ce 100644
--- a/nsv13/code/modules/jobs/job_types/marine/midshipman.dm
+++ b/nsv13/code/modules/jobs/job_types/marine/midshipman.dm
@@ -21,7 +21,6 @@ Marine & all their unique stuff!
display_order = JOB_DISPLAY_ORDER_ASSISTANT
departments = DEPARTMENT_BITFLAG_SERVICE
rpg_title = "Lout"
- var/assign_squad = FALSE //If an assigned department is not essential to the ship, they get added to a squad instead
species_outfits = list(
SPECIES_PLASMAMAN = /datum/outfit/plasmaman
@@ -76,7 +75,7 @@ Marine & all their unique stuff!
var/department = M?.client?.prefs?.active_character?.preferred_security_department
if(department == "None")
to_chat(M, "You have not been assigned to any department. Help in any way you can!")
- assign_squad = TRUE
+ return
else if(!(department in GLOB.available_depts))
department = pick(GLOB.available_depts)
@@ -88,7 +87,6 @@ Marine & all their unique stuff!
ears = /obj/item/radio/headset/headset_cargo
dep_access = list(ACCESS_MAILSORTING, ACCESS_CARGO)
accessory = /obj/item/clothing/accessory/armband/cargo
- assign_squad = TRUE
if(SEC_DEPT_ENGINEERING)
ears = /obj/item/radio/headset/headset_eng
dep_access = list(ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_AUX_BASE)
@@ -101,7 +99,6 @@ Marine & all their unique stuff!
ears = /obj/item/radio/headset/headset_sci
dep_access = list(ACCESS_RESEARCH)
accessory = /obj/item/clothing/accessory/armband/science
- assign_squad = TRUE
if(SEC_DEPT_MUNITIONS)
ears = /obj/item/radio/headset/munitions/munitions_tech
dep_access = list(ACCESS_MUNITIONS, ACCESS_MUNITIONS_STORAGE)
@@ -121,6 +118,14 @@ Marine & all their unique stuff!
to_chat(M, "You have been assigned to [department]!")
/datum/job/assistant/register_squad(mob/living/H)
- if(assign_squad == FALSE)
+ if(!ishuman(H))
+ return
+ var/list/disallowed_access = list(ACCESS_ENGINE, ACCESS_MEDICAL, ACCESS_MUNITIONS) //If these departments are disallowed squads, so are the midshipmen assigned to them
+ var/mob/living/carbon/human/A = H
+ var/obj/item/card/id/I = A.get_idcard()
+ if(!I)
return
+ for(var/B in disallowed_access)
+ if(B in I.access)
+ return
. = ..()