What am I missing? 6 is in fact > 1500 ?? inequality problem

I just wanted to make a simple change to my program and something I have done a ton of times is giving me grief. I am so frustrated with it I must be blinded and unable to see the problem right in from of me. I simply want to read a pin every 15 seconds and if that pin is high for 5 constitutive reads let me know. I am sure it is something stupid but from my serial output pasted below my code I can't see how it keeps on entering that loop over and over again before it hits 15 seconds.

unsigned long interval4 = 15000;
int RELAY1 = 5;
int RELAY2 = 4;
int Fault = 10;
int A0pin=0;
int analog;
unsigned long interval;            //amount of time timer will run; set through text
unsigned long StartTime;          //Time when timer started
unsigned long StartTime2;         //Time when device turned on
unsigned long StartTime3;          //Time when sampling will begin (sort of)
unsigned long StartTime4 = millis();          //Time used for fault count
byte analogcounter = 0;
byte sampleCounter = 0;
byte sampleCounter2 = 0;
byte faultcounter = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(19200);
}

void loop() {
 if(millis()-StartTime4 >= interval4);
  {
    Serial.println("I am here");
    Serial.println(millis());
    Serial.println(StartTime4);
    Serial.println(interval4);
    boolean current = digitalRead(Fault);
    StartTime4 = millis();
    if(current == HIGH && faultcounter == 0)
    {
         sampleCounter2++;
         Serial.print(sampleCounter2);
         Serial.println("/5 Fault Read before Alert");
       if (sampleCounter2 >= 5)
       {
         faultcounter++;
         Serial.println("Fault Detected");
       }
    else
    {
      faultcounter = 0;
      sampleCounter2 = 0;
    }
 
   }
    
  }
}

I am here
0
0
15000
I am here
1
1
15000
I am here
9
3
15000
I am here
21
15
15000
I am here
34
29
15000
I am here
48
43
15000
I am here
62
56
15000
I am here
75
69
15000
I am here
89
82
15000
I am here
102
97
15000

Have a look at the ';' at the end of this line

if(millis()-StartTime4 >= interval4);

Magicj:
Have a look at the ';' at the end of this line

if(millis()-StartTime4 >= interval4);

Thanks Magicj! I knew there had to be something. That stupid ";" was staring me right in the face the whole time.

Jake