Eliminar todo después de un personaje, pero mantener el personaje

Digamos que tengo una cadena que dice"45216 Walnut Avenue Mary's Bake Shop". Quiero eliminar todo después de la palabraAvenue, pero me gustaría que quedara la avenida. ¿Como funciona esto?

He intentado lo siguiente sin suerte:

a <- "45216 Walnut Avenue Mary's Bake Shop"
a <- gsub("Avenue.*$", "", a)

[1] "45216 Walnut "