diff --git a/src/slurmctld/reservation.c b/src/slurmctld/reservation.c
index 5b355f696fd32c171b721736510553fc754d8d5e..b16577f629009e2c4b4c9b370dd5297c4856d247 100644
--- a/src/slurmctld/reservation.c
+++ b/src/slurmctld/reservation.c
@@ -1662,6 +1662,7 @@ static void _validate_all_reservations(void)
 		if (!_validate_one_reservation(resv_ptr)) {
 			error("Purging invalid reservation record %s",
 			      resv_ptr->name);
+			_post_resv_delete(resv_ptr);
 			_clear_job_resv(resv_ptr);
 			list_delete_item(iter);
 		} else {