diff --git a/docs/landscape_grid.html b/docs/landscape_grid.html
index cd4cfdc8ad..fd0a3d2380 100644
--- a/docs/landscape_grid.html
+++ b/docs/landscape_grid.html
@@ -64,7 +64,7 @@ the array so you can quickly see what is used and what is not.
       
XXXX XXXX | 
       XXXX XXXX OOOO OOOO 
        | 
-      XXXX XXXX XXOX OOOO 
+       | XXXX XXXX XXXX XXXX 
        | 
       XXXX XXXX | 
       XXXX XXXX 
diff --git a/lang/english.txt b/lang/english.txt
index 81cb29d35e..d2337eabbc 100644
--- a/lang/english.txt
+++ b/lang/english.txt
@@ -1484,6 +1484,7 @@ STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS                          :Railway track w
 STR_RAILROAD_TRACK_WITH_PRESIGNALS                              :Railway track with pre-signals
 STR_RAILROAD_TRACK_WITH_EXITSIGNALS                             :Railway track with exit-signals
 STR_RAILROAD_TRACK_WITH_COMBOSIGNALS                            :Railway track with combo-signals
+STR_RAILROAD_TRACK_WITH_PBSSIGNALS                              :Railway track with pbs-signals
 
 
 
diff --git a/rail_cmd.c b/rail_cmd.c
index 796ba88fdd..67497dfbfe 100644
--- a/rail_cmd.c
+++ b/rail_cmd.c
@@ -2153,14 +2153,16 @@ static void GetTileDesc_Track(TileIndex tile, TileDesc *td)
 			break;
 
 		case RAIL_TYPE_SIGNALS: {
-			const StringID signal_type[] = {
+			const StringID signal_type[7] = {
 				STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS,
 				STR_RAILROAD_TRACK_WITH_PRESIGNALS,
 				STR_RAILROAD_TRACK_WITH_EXITSIGNALS,
-				STR_RAILROAD_TRACK_WITH_COMBOSIGNALS
+				STR_RAILROAD_TRACK_WITH_COMBOSIGNALS,
+				STR_RAILROAD_TRACK_WITH_PBSSIGNALS,
+				STR_NULL, STR_NULL
 			};
 
-			td->str = signal_type[_map3_hi[tile] & 0x03];
+			td->str = signal_type[_map3_hi[tile] & 0x7];
 			break;
 		}
 
 |