Index: Slim/Utils/Alarm.pm =================================================================== --- Slim/Utils/Alarm.pm (revision 22456) +++ Slim/Utils/Alarm.pm (working copy) @@ -539,12 +539,6 @@ $client->volume($self->volume); } - # Fade volume change if requested - if ( $prefs->client($client)->get('alarmfadeseconds') ) { - $log->debug('Fading volume'); - $client->fade_volume( $FADE_SECONDS ); - } - # Play alarm playlist, falling back to the current playlist if undef if (defined $self->playlist) { $log->debug('Alarm playlist url: ' . $self->playlist); @@ -565,6 +559,13 @@ } } + # Fade volume change if requested (do this after playing as playing + # seems to sometimes cancel the fade) + if ( $prefs->client($client)->get('alarmfadeseconds') ) { + $log->debug('Fading volume'); + $client->fade_volume( $FADE_SECONDS ); + } + # Set a callback to check we managed to play something Slim::Utils::Timers::setTimer($self, Time::HiRes::time() + 20, \&_checkPlaying);