diff --git a/src/rail.cpp b/src/rail.cpp
index 290248ac88..4419f852fe 100644
--- a/src/rail.cpp
+++ b/src/rail.cpp
@@ -310,6 +310,8 @@ RailTypes GetRailTypes(bool introduces)
  */
 RailType GetRailTypeByLabel(RailTypeLabel label, bool allow_alternate_labels)
 {
+	if (label == 0) return INVALID_RAILTYPE;
+
 	/* Loop through each rail type until the label is found */
 	for (RailType r = RAILTYPE_BEGIN; r != RAILTYPE_END; r++) {
 		const RailTypeInfo *rti = GetRailTypeInfo(r);
diff --git a/src/road.cpp b/src/road.cpp
index 248533c4fd..f66bedfd65 100644
--- a/src/road.cpp
+++ b/src/road.cpp
@@ -253,6 +253,8 @@ RoadTypes GetRoadTypes(bool introduces)
  */
 RoadType GetRoadTypeByLabel(RoadTypeLabel label, bool allow_alternate_labels)
 {
+	if (label == 0) return INVALID_ROADTYPE;
+
 	/* Loop through each road type until the label is found */
 	for (RoadType r = ROADTYPE_BEGIN; r != ROADTYPE_END; r++) {
 		const RoadTypeInfo *rti = GetRoadTypeInfo(r);