Urgh, forgot the "static" in front of the second "if". It does work now.
Perhaps that should be an error instead; Going from a static if to an else if... seems easy enough to spot and insist a fix (much like assignment inside an if statement is illegal).