diff --git a/src/dialog_shift_times.cpp b/src/dialog_shift_times.cpp
index dc4f183de867df43dba7acfbd756570f16c0caab..268e307ea7798ef659b66edabda5c8eecc0498ed 100644
--- a/src/dialog_shift_times.cpp
+++ b/src/dialog_shift_times.cpp
@@ -109,8 +109,10 @@ static wxString get_history_string(json::Object &obj) {
 	int64_t sel_mode = obj["mode"];
 	if (sel_mode == 0)
 		lines = _("all");
-	else if (sel_mode == 2)
-		lines = fmt_tl("from %d onward", (int64_t)static_cast<json::Object&>(sel.front())["start"]);
+	else if (sel_mode == 2) {
+		if (!sel.empty())
+			lines = fmt_tl("from %d onward", (int64_t)static_cast<json::Object&>(sel.front())["start"]);
+	}
 	else {
 		lines += _("sel ");
 		for (auto it = sel.begin(); it != sel.end(); ++it) {