diff --git a/Source/Plugins/CAR/CAR.cpp b/Source/Plugins/CAR/CAR.cpp
index bb65bf868b07e66241b357a37699a1393210218c..a57b7ca8c0c72ad03275519d4b0e5d34b761f2bc 100644
--- a/Source/Plugins/CAR/CAR.cpp
+++ b/Source/Plugins/CAR/CAR.cpp
@@ -124,7 +124,7 @@ void CAR::setReferenceChannelState (int channel, bool newState)
     if (! newState)
         m_referenceChannels.removeFirstMatchingValue (channel);
     else
-        m_referenceChannels.add (channel);
+        m_referenceChannels.addIfNotAlreadyThere (channel);
 }
 
 
diff --git a/Source/Plugins/CAR/CAREditor.cpp b/Source/Plugins/CAR/CAREditor.cpp
index 30fb784451c89371113d63350e807ded357bcc3f..f9f2ed96a1b98a49393b5d320aa0f52aed51255c 100644
--- a/Source/Plugins/CAR/CAREditor.cpp
+++ b/Source/Plugins/CAR/CAREditor.cpp
@@ -40,6 +40,7 @@ CAREditor::CAREditor (GenericProcessor* parentProcessor, bool useDefaultParamete
     , m_gainSlider                   (new ParameterSlider (0.0, 100.0, 100.0, FONT_LABELS))
 {
     TextButton* referenceChannelsButton = new TextButton ("Reference", "Switch to reference channels");
+    referenceChannelsButton->setClickingTogglesState (true);
     referenceChannelsButton->setToggleState (true, dontSendNotification);
     referenceChannelsButton->setColour (TextButton::buttonColourId,     Colour (0x0));
     referenceChannelsButton->setColour (TextButton::buttonOnColourId,   Colour (0x0));
@@ -47,6 +48,7 @@ CAREditor::CAREditor (GenericProcessor* parentProcessor, bool useDefaultParamete
     referenceChannelsButton->setColour (TextButton::textColourOnId,     COLOUR_ACCENT);
 
     TextButton* affectedChannelsButton  = new TextButton ("Affected", "Switch to affected channels");
+    affectedChannelsButton->setClickingTogglesState (true);
     affectedChannelsButton->setColour (TextButton::buttonColourId,     Colour (0x0));
     affectedChannelsButton->setColour (TextButton::buttonOnColourId,   Colour (0x0));
     affectedChannelsButton->setColour (TextButton::textColourOffId,    COLOUR_PRIMARY);