diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 4cd61b95cf..216bdc1901 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -5907,7 +5907,8 @@ static uint32 GetParamVal(byte param, uint32 *cond_val) /* Supported in Action 0x07 and 0x09, not 0x0D */ return 0; } else { - uint32 param_val = _ttdpatch_flags[*cond_val / 0x20]; + uint32 index = *cond_val / 0x20; + uint32 param_val = index < lengthof(_ttdpatch_flags) ? _ttdpatch_flags[index] : 0; *cond_val %= 0x20; return param_val; }