diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index c88dd0671b1..daf7bfe6b52 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -622,6 +622,13 @@ so as to remain in compliance with the most up-to-date laws."
stone = null
return ..()
+/obj/screen/alert/notify_mapvote
+ name = "Map Vote"
+ desc = "Vote on which map you would like to play on next!"
+ icon_state = "map_vote"
+
+/obj/screen/alert/notify_mapvote/Click()
+ SSvote.browse_to(usr.client)
//OBJECT-BASED
diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index 0185aa5931b..a93d7e443c8 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -266,8 +266,12 @@ SUBSYSTEM_DEF(vote)
Click here or type vote to place your vote.
You have [GLOB.configuration.vote.vote_time / 10] seconds to vote."})
switch(vote_type)
- if("crew transfer", "gamemode", "custom", "map")
+ if("crew transfer", "gamemode", "custom")
SEND_SOUND(world, sound('sound/ambience/alarm4.ogg'))
+ if("map")
+ SEND_SOUND(world, sound('sound/ambience/alarm4.ogg'))
+ for(var/mob/M in GLOB.player_list)
+ M.throw_alert("Map Vote", /obj/screen/alert/notify_mapvote, timeout_override = GLOB.configuration.vote.vote_time)
if(mode == "gamemode" && SSticker.ticker_going)
SSticker.ticker_going = FALSE
to_chat(world, "Round start has been delayed.")
diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi
index 9ef222c0bff..3354c42a5b7 100644
Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ