diff --git a/layouts/index.html b/layouts/index.html
index d66cd5def..1ab7c3e48 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -57,7 +57,13 @@
{{ $today := time.AsTime (now.Format "2006-01-02") }}
- {{ range first 4 (where (where .Site.RegularPages "Section" "events") ".Date" "ge" $today).ByDate }}
+ {{ $futureEvents := first 4 (where (where .Site.RegularPages "Section" "events") ".Date" "ge" $today).ByDate }}
+ {{ $eventsToShow := $futureEvents }}
+ {{ if lt (len $futureEvents) 4 }}
+ {{ $pastEvents := first (sub 4 (len $futureEvents)) (where (where .Site.RegularPages "Section" "events") ".Date" "lt" $today).ByDate.Reverse }}
+ {{ $eventsToShow = sort (append $futureEvents $pastEvents) "Date" }}
+ {{ end }}
+ {{ range $eventsToShow }}
{{- partial "event_card.html" . -}}