diff -r d83e927ee9d2 -r 5a6ac1d1bc0e Hardware/Heatmaster/Heatmaster.cs --- a/Hardware/Heatmaster/Heatmaster.cs Tue Mar 15 17:55:11 2011 +0000 +++ b/Hardware/Heatmaster/Heatmaster.cs Tue Mar 15 21:54:56 2011 +0000 @@ -227,9 +227,15 @@ if (int.TryParse(match.Groups[1].Value, out device)) { foreach (string s in match.Groups[2].Value.Split('|')) { string[] strings = s.Split(':'); - int[] ints = new int[strings.Length]; + int[] ints = new int[strings.Length]; + bool valid = true; for (int i = 0; i < ints.Length; i++) - ints[i] = int.Parse(strings[i], CultureInfo.InvariantCulture); + if (!int.TryParse(strings[i], out ints[i])) { + valid = false; + break; + } + if (!valid) + continue; switch (device) { case 32: if (ints.Length == 3 && ints[0] <= fans.Length) {