Index: Slim/Player/Player.pm
===================================================================
RCS file: /home/cvs/cvsroot/slim/server/Slim/Player/Player.pm,v
retrieving revision 1.30
diff -u -p -B -r1.30 Player.pm
--- Slim/Player/Player.pm	24 Sep 2004 01:45:20 -0000	1.30
+++ Slim/Player/Player.pm	5 Oct 2004 03:15:28 -0000
@@ -229,14 +229,6 @@ sub power {
 				Slim::Utils::Prefs::clientSet($client, "powerOnBrightness", $powerOnBrightness);
 				#check if there is a sync group to restore
 				Slim::Player::Sync::restoreSync($client);
-				# restore volume (un-mute if necessary)
-				my $vol = $client->volume();
-				if($vol < 0) { 
-					# un-mute volume
-					$vol *= -1;
-					$client->volume($vol);
-				}
-				Slim::Control::Command::execute($client, ["mixer", "volume", $vol]);
 			} else {
 				Slim::Buttons::Common::setMode($client, 'off');
 			}
@@ -277,13 +269,13 @@ sub fade_volume {
 	
 	my $vol = Slim::Utils::Prefs::clientGet($client, "volume");
 	my $mute = Slim::Utils::Prefs::clientGet($client, "mute");
-	if ($vol < 0) {
+	if ($vol < 0 && $fade < 0) {
 		# the volume is muted, don't fade.
 		$callback && (&$callback(@$callbackargs));
 		return;
 	}
 	
-	if ($mute) {
+	if ($mute || (!$mute && $vol < 0)) {
 		# Set Target (Negative indicates mute, but still saves old value)
 		Slim::Utils::Prefs::clientSet($client, "volume", $vol * -1);
 	}