diff --git a/page_talks.html b/page_talks.html
index 61ebd38891..c502fb218e 100644
--- a/page_talks.html
+++ b/page_talks.html
@@ -12,17 +12,48 @@
- Upcoming Talks
- {% assign upcoming = site.talks | where: "given", false | sort: 'talk_number' | reverse %}
- {% for talk in upcoming %}
- {% include talk_card.html talk=talk %}
+
+
+ {% assign upcoming = site.talks | where: "given", false | sort: 'talk_number' %}
+ {% assign next_talk = upcoming.first %}
+ {% if next_talk %}
+
+
Next Talk
+
+ {% include talk_card.html talk=next_talk %}
+
+
+ {% endif %}
+
+
+ {% assign future_talks = site.talks | where: "given", false | sort: 'talk_number' %}
+ {% assign has_future_talks = false %}
+ {% for talk in future_talks %}
+ {% unless talk.talk_number == next_talk.talk_number %}
+ {% assign has_future_talks = true %}
+ {% break %}
+ {% endunless %}
{% endfor %}
+
+ {% if has_future_talks %}
+
+
Future Talks
+ {% for talk in future_talks %}
+ {% unless talk.talk_number == next_talk.talk_number %}
+ {% include talk_card.html talk=talk %}
+ {% endunless %}
+ {% endfor %}
+
+ {% endif %}
- Previous Talks
- {% assign previous = site.talks | where: "given", true | sort: 'talk_number' | reverse %}
- {% for talk in previous %}
- {% include talk_card.html talk=talk %}
- {% endfor %}
+
+
+
Previous Talks
+ {% assign previous = site.talks | where: "given", true | sort: 'talk_number' | reverse %}
+ {% for talk in previous %}
+ {% include talk_card.html talk=talk %}
+ {% endfor %}
+