diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index e6cf5780503..27aaae5e1a0 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -224,6 +224,13 @@ var/list/department_radio_keys = list(
message_range = 1
italics = 1
+ if ("pAI")
+ if (src:radio)
+ src:radio.talk_into(src, message)
+ used_radios += src:radio
+ message_range = 1
+ italics = 1
+
if("changeling")
if(mind && mind.changeling)
for(var/mob/Changeling in mob_list)
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 8c196ec6387..89fb455c19d 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -13,6 +13,7 @@
var/list/software = list()
var/userDNA // The DNA string of our assigned user
var/obj/item/device/paicard/card // The card we inhabit
+ var/obj/item/device/radio/radio // Our primary radio
var/speakStatement = "states"
var/speakExclamation = "declares"
@@ -57,6 +58,10 @@
src.loc = get_turf(paicard)
card = paicard
sradio = new(src)
+ if(card)
+ if(!card.radio)
+ card.radio = new /obj/item/device/radio(src.card)
+ radio = card.radio
//PDA
pda = new(src)
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
index b946ace8c9e..cd797cb9ab3 100644
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -267,6 +267,7 @@
dat += "Refresh
"
// Built-in
dat += "Directives
"
+ dat += "Radio Configuration
"
dat += "Screen Display
"
//dat += "Text Messaging
"
dat += "
"