diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm
index 486e6e37586..59c92c6d172 100644
--- a/code/modules/antagonists/traitor/datum_traitor.dm
+++ b/code/modules/antagonists/traitor/datum_traitor.dm
@@ -106,7 +106,7 @@
else
string += ", [to_display.telecrystal_reward] TC"
string += ", [to_display.progression_reward] PR"
- if(to_display.objective_state == OBJECTIVE_STATE_ACTIVE)
+ if(to_display.objective_state == OBJECTIVE_STATE_ACTIVE && !istype(to_display, /datum/traitor_objective/ultimate))
string += " Fail this objective"
string += " Succeed this objective"
if(to_display.objective_state == OBJECTIVE_STATE_INACTIVE)
diff --git a/code/modules/antagonists/traitor/objectives/final_objective/final_objective.dm b/code/modules/antagonists/traitor/objectives/final_objective/final_objective.dm
index c8aad8e6b6a..47b9b3b0167 100644
--- a/code/modules/antagonists/traitor/objectives/final_objective/final_objective.dm
+++ b/code/modules/antagonists/traitor/objectives/final_objective/final_objective.dm
@@ -31,6 +31,8 @@
. = ..()
handler.maximum_potential_objectives = 0
for(var/datum/traitor_objective/objective as anything in handler.potential_objectives)
+ if(objective == src)
+ continue
objective.fail_objective()
user.playsound_local(get_turf(user), 'sound/traitor/final_objective.ogg', vol = 100, vary = FALSE, channel = CHANNEL_TRAITOR)
handler.final_objective = name