diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index a8b240c4743..93166719d84 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -14,8 +14,9 @@
#define CHAT_PULLR 2048
#define INTENT_STYLE 4096
#define CHAT_GHOSTWHISPER 8192
+#define CHAT_GHOSTPDA 16384
-#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|MEMBER_PUBLIC|CHAT_PULLR|INTENT_STYLE|CHAT_GHOSTWHISPER)
+#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|MEMBER_PUBLIC|CHAT_PULLR|INTENT_STYLE|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA)
#define BE_TRAITOR 1
#define BE_OPERATIVE 2
@@ -29,4 +30,4 @@
#define BE_BLOB 512
#define BE_NINJA 1024
#define BE_MONKEY 2048
-#define BE_GANG 4096
+#define BE_GANG 4096
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index c8ed101d1d8..6a25b6c50be 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -817,7 +817,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
tnote += "→ To [P.owner]:
[t]
"
P.tnote += "← From [owner] ([ownjob]):
[t]
"
for(var/mob/M in player_list)
- if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTWHISPER))
+ if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTPDA))
M.show_message("PDA Message - [owner] -> [P.owner]: [t]")
if (!P.silent)
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index f22870a8cf8..ce46466f288 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -225,6 +225,7 @@ datum/preferences
dat += "Ghost ears: [(toggles & CHAT_GHOSTEARS) ? "Nearest Creatures" : "All Speech"]
"
dat += "Ghost sight: [(toggles & CHAT_GHOSTSIGHT) ? "Nearest Creatures" : "All Emotes"]
"
dat += "Ghost whispers: [(toggles & CHAT_GHOSTWHISPER) ? "Nearest Creatures" : "All Speech"]
"
+ dat += "Ghost pda: [(toggles & CHAT_GHOSTPDA) ? "Nearest Creatures" : "All Messages"]
"
dat += "Pull requests: [(toggles & CHAT_PULLR) ? "Yes" : "No"]
"
if(config.allow_Metadata)
@@ -782,6 +783,9 @@ datum/preferences
if("ghost_whispers")
toggles ^= CHAT_GHOSTWHISPER
+ if("ghost_pda")
+ toggles ^= CHAT_GHOSTPDA
+
if("pull_requests")
toggles ^= CHAT_PULLR
diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm
index 3f35026c7be..d9d683a3118 100644
--- a/code/modules/client/preferences_toggles.dm
+++ b/code/modules/client/preferences_toggles.dm
@@ -26,6 +26,15 @@
prefs.save_preferences()
feedback_add_details("admin_verb","TGW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+/client/verb/toggle_ghost_pda()
+ set name = "Show/Hide GhostPDA"
+ set category = "Preferences"
+ set desc = ".Toggle Between seeing all mob pda messages, and only pda messages of nearby mobs"
+ prefs.toggles ^= CHAT_GHOSTPDA
+ src << "As a ghost, you will now [(prefs.toggles & CHAT_GHOSTPDA) ? "see all pda messages in the world" : "only see pda messages from nearby mobs"]."
+ prefs.save_preferences()
+ feedback_add_details("admin_verb","TGP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+
/client/proc/toggle_hear_radio()
set name = "Show/Hide RadioChatter"
set category = "Preferences"