Index: Slim/Utils/Alarm.pm
===================================================================
--- Slim/Utils/Alarm.pm	(revision 22532)
+++ Slim/Utils/Alarm.pm	(working copy)
@@ -937,11 +937,11 @@
 		_time => $self->{_time},
 		_days => $self->{_days},
 		_enabled => $self->{_enabled},
+		_repeat => $self->{_repeat},
 		_playlist => $self->{_playlist},
 		_volume => $self->{_volume},
 		_comment => $self->{_comment},
 		_id => $self->{_id},
-		_repeat => $self->{_repeat},
 		_createTime => $self->{_createTime},
 	};
 }
@@ -1004,6 +1004,11 @@
 	my @tracks = Slim::Schema->rs('track')->search({audio => 1}, {rows => 10, order_by => \'RAND()'})->all;
 	my $request = $client->execute(['playlist', 'loadtracks', 'listRef', \@tracks ]);
 	$request->source('ALARM');
+
+	if ( $prefs->client($client)->get('alarmfadeseconds') ) {
+		$log->debug('Fading volume');
+		$client->fade_volume( $FADE_SECONDS );
+	}
 }
 
 # Handle the alarm timeout timer firing
@@ -1161,6 +1166,7 @@
 		my $alarm = $class->new($client, $prefAlarm->{_time});
 		$alarm->{_days} = $prefAlarm->{_days};
 		$alarm->{_enabled} = $prefAlarm->{_enabled};
+		$alarm->{_repeat} = $prefAlarm->{_repeat};
 		$alarm->{_playlist} = $prefAlarm->{_playlist};
 		$alarm->{_volume} = $prefAlarm->{_volume};
 		$alarm->{_comment} = $prefAlarm->{_comment};