diff --git a/Source/Plugins/CAR/CAR.cpp b/Source/Plugins/CAR/CAR.cpp
index 8222d224114329803b0ebbe6ce9e0dc3db34eeae..bb65bf868b07e66241b357a37699a1393210218c 100644
--- a/Source/Plugins/CAR/CAR.cpp
+++ b/Source/Plugins/CAR/CAR.cpp
@@ -46,9 +46,16 @@ AudioProcessorEditor* CAR::createEditor()
 }
 
 
+float CAR::getGainLevel()
+{
+    m_gainLevel.updateTarget();
+    return m_gainLevel.getNextValue();
+}
+
+
 void CAR::setGainLevel (float newGain)
 {
-    m_gainLevel = newGain;
+    m_gainLevel.setValue (newGain);
 }
 
 
@@ -80,7 +87,8 @@ void CAR::process (AudioSampleBuffer& buffer, MidiBuffer& events)
 
     m_avgBuffer.applyGain (1.0f / float (numReferenceChannels));
 
-    const float gain = -1.0f * m_gainLevel / 100.f;
+    m_gainLevel.updateTarget();
+    const float gain = -1.0f * m_gainLevel.getNextValue() / 100.f;
 
     for (int i = 0; i < numAffectedChannels; ++i)
     {
diff --git a/Source/Plugins/CAR/CAR.h b/Source/Plugins/CAR/CAR.h
index ca1929de20cc91e1ccba834743c7d994b346d11b..8f86eb0ce9076e47ae9f7085d2ac6e2ae0d89502 100644
--- a/Source/Plugins/CAR/CAR.h
+++ b/Source/Plugins/CAR/CAR.h
@@ -73,7 +73,7 @@ public:
     void process (AudioSampleBuffer& buffer, MidiBuffer& events) override;
 
     /** Returns the current gain level that is set in the processor */
-    float getGainLevel() const { return m_gainLevel; }
+    float getGainLevel();
 
     /** Sets the new gain level that will be used in the processor */
     void setGainLevel (float newGain);
@@ -92,7 +92,7 @@ public:
 
 
 private:
-    float m_gainLevel;
+    LinearSmoothedValueAtomic<float> m_gainLevel;
 
     AudioSampleBuffer m_avgBuffer;