       }
     }
   } else { // if we are powering down
-    clearPowerStrip(); // clear all led's
-    shutdown_leds();
-
-    if (startup == true) { // if started reset the variables
-      startup = false;
-      safety = false;
-      fire = false;
-
-      playTrack(shutdownTrack); // play the pack shutdown track
+    if( poweredDown == false ){
+      if( shuttingDown == false ){
+        playTrack(shutdownTrack); // play the pack shutdown track
+        shuttingDown = true;
+      }
+      powerSequenceShutdown(currentMillis);
+    }else{
+      if (startup == true) { // if started reset the variables
+        clearPowerStrip(); // clear all led's
+        shutdown_leds();
+        startup = false;
+        safety = false;
+        fire = false;
+      }
     }
   }
   delay(1);

          clearFireStrobe();
          pwr_interval = 60;
          firing_interval = 40;
          fire = false;

          // see if we've been firing long enough to get the dialog or vent sounds


  // configure nose jewel
  noseJewel.begin();
  powerStick.setBrightness(80);
  noseJewel.show(); // Initialize all pixels to 'off'

  // configure powercell/cyclotron
  powerStick.begin();
  powerStick.setBrightness(20);
  powerStick.show(); // Initialize all pixels to 'off'

  // set the modes for the switches/buttons
