No worries, Pony. I am 99.9% sure that this is a bug. I found a workaround though. The trick is to convert the test variable into a string: Code: { int $a = -5; string $b = $a; switch($b) { case "-5": print("\n$a was -5\n"); break; default: print("\n$a was some other number\n"); } }