What happened to the code that was (incorrectly) attempting to fade back down?
(fade > 255);
fade = 0;
fade -=5;
analogWrite(ledPin, fade);
should be
if(fade > 255)
{
fade = 0;
fade -=5;
analogWrite(ledPin, fade);
}