Index: libs/ardour/route.cc
===================================================================
--- libs/ardour/route.cc	(revision 1979)
+++ libs/ardour/route.cc	(working copy)
@@ -769,7 +769,12 @@
 		_soloed = yn;
 		solo_changed (src); /* EMIT SIGNAL */
 		_solo_control.Changed (); /* EMIT SIGNAL */
-	}
+	}	
+	
+	if (_muted) {
+		Glib::Mutex::Lock lm (declick_lock);
+		desired_mute_gain = (yn?1.0:0.0);
+	}	
 }
 
 void
@@ -808,7 +813,13 @@
 		_mute_control.Changed (); /* EMIT SIGNAL */
 		
 		Glib::Mutex::Lock lm (declick_lock);
-		desired_mute_gain = (yn?0.0f:1.0f);
+		
+		if (_soloed){
+			desired_mute_gain = 1.0f;
+		}
+		else {
+			desired_mute_gain = (yn?0.0f:1.0f);
+		}
 	}
 }
