diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm
index 37aeafcacc4..e6b4e9d4c84 100644
--- a/code/__DEFINES/sight.dm
+++ b/code/__DEFINES/sight.dm
@@ -5,6 +5,8 @@
#define INVISIBILITY_LIGHTING 20
+#define SEE_INVISIBLE_LIVING_AI 24
+
#define SEE_INVISIBLE_LIVING 25
// Hidden cult runes
diff --git a/code/modules/antagonists/changeling/powers/digitalcamo.dm b/code/modules/antagonists/changeling/powers/digitalcamo.dm
index b86a1455655..0a8862435ac 100644
--- a/code/modules/antagonists/changeling/powers/digitalcamo.dm
+++ b/code/modules/antagonists/changeling/powers/digitalcamo.dm
@@ -14,10 +14,11 @@
/datum/action/changeling/digitalcamo/sting_action(mob/user)
if(HAS_TRAIT_FROM(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT))
REMOVE_TRAIT(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT)
+ user.invisibility = initial(user.invisibility)
to_chat(user, "We return to normal.")
else
ADD_TRAIT(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT)
to_chat(user, "We distort our form to prevent AI-tracking.")
-
+ user.invisibility = SEE_INVISIBLE_LIVING
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
diff --git a/code/modules/mob/living/silicon/ai/ai_mob.dm b/code/modules/mob/living/silicon/ai/ai_mob.dm
index 639e4fdebbb..ef964874e78 100644
--- a/code/modules/mob/living/silicon/ai/ai_mob.dm
+++ b/code/modules/mob/living/silicon/ai/ai_mob.dm
@@ -47,6 +47,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED
mob_size = MOB_SIZE_LARGE
sight = SEE_TURFS | SEE_MOBS | SEE_OBJS
+ see_invisible = SEE_INVISIBLE_LIVING_AI
see_in_dark = 8
can_strip = FALSE
var/list/network = list("SS13","Telecomms","Research Outpost","Mining Outpost")
@@ -56,7 +57,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
//var/list/laws = list()
alarms_listend_for = list("Motion", "Fire", "Atmosphere", "Power", "Burglar")
var/viewalerts = FALSE
- var/icon/holo_icon//Default is assigned when AI is created.
+ var/icon/holo_icon //Default is assigned when AI is created.
var/obj/mecha/controlled_mech //For controlled_mech a mech, to determine whether to relaymove or use the AI eye.
var/obj/item/pda/silicon/ai/aiPDA = null
var/obj/item/multitool/aiMulti = null