If Statement not functioning,If less than statement will not register

if(score < 0)
isGameActive = false;
else if (score > 300)
difficulty = 2;
Physics.gravity = new Vector3(0, -9, 0);
spawnRate = 0.6f;
else if(score > 150)
difficulty = 1;
Physics.gravity = new Vector3(0, -8, 0);
spawnRate = 0.8f;

Seems simple enough, but the if(score < 0) will not trigger for me at all. The score does go into the negatives, a display in-game shows me that, and I even set the score public temporarily to make sure.
I have been at this simple problem for hours now.
I’ve tried (!(score > 0)) and (0 > score). No luck.
I’ve tried setting it separate from the else statements since they will always be exclusive. Nothing.
I’ve tried starting off with a score of 10 and checking for the score dropping below 10, 5, and 0.
I’ve put the code into the if(score > 150) block and it functions, so the issue is not the code inside. It is just the if statement itself.

I should clarify, this is in Update, so it runs every frame.

If statements work perfectly fine so there is no way that’s where your error is. Debug.Log(score) right before this if happens in the update loop. It is likely that you are not updating the score value in this particular script? If you want more help please post the entire script