diff --git a/say.c b/say.c
index 1e9ed5407a5a403512c38d0cd7dbb85488a132b4..999f79c5792360279e4c2caaf3bcc30e47a7b837 100644
--- a/say.c
+++ b/say.c
@@ -4698,7 +4698,11 @@ int ast_say_date_with_format_pl(struct ast_channel *chan, time_t thetime, const
 			case 'e':
 				/* First - Thirtyfirst */
 				remainder = tm.tm_mday;
-				if (tm.tm_mday > 20) {
+				if (tm.tm_mday > 30) {
+					res = wait_file(chan, ints, "digits/h-30", lang);
+					remainder -= 30;
+				}
+				if (tm.tm_mday > 20 && tm.tm_mday < 30) {
 					res = wait_file(chan, ints, "digits/h-20", lang);
 					remainder -= 20;
 				}