     drawScore();
 
     drawPlayerShip();
+
+    if (!isBossAlive) {
+      if ((score >= 5000) && (!spawnedBossOne)) {
+        drawBoss(69, 6, 1);
+        spawnedBossOne = true;
+      } else if ((score >= 12000) && (!spawnedBossTwo)) {
+        drawBoss(96, 24, 2);
+        spawnedBossTwo = true;
+      }
+    }
     
-    if(!isBossAlive) {
-      updateEnemies();  
-    }
-
-    if(score > 0) {
-      if(score % 3000 == 0) {
-        drawBoss(69, 6, 1);
-      } else if(score % 5000 == 0) {
-        drawBoss(96, 24, 2);
-      } else if(isBossAlive) {
-        drawBoss(boss.x, boss.y, boss.type);  
-      }
+    if (isBossAlive) {
+      drawBoss(boss.x, boss.y, boss.type); 
+    } else {
+      updateEnemies();
     }
 
     if(inGameAButtonLastPress > 80 || inGameBButtonLastPress > 60) {

  livesRemaining = MAX_LIVES;
  spaceShip.reset();
  stopMusic();
  
  while (livesRemaining > 0) {  
    arduboy.clear();
    inGameFrame++;

    // Cool off the gun
    if (inGameFrame % 20 == 0 && spaceShip.gunTemp > 0) {
      spaceShip.gunTemp--;
    }

    drawGunTemp();

          // Hit Boss
          playerBullets[i].hide();
          boss.health -= playerBullets[i].damage;
          score += playerBullets[i].damage;
          
          if (boss.health <= 0) {
            // Killed Boss
