diff --git a/src/calladapter.cpp b/src/calladapter.cpp
index b8f5bfda2dd2c9a669e0365edcaee5d64b94755e..0ba242ec78b8ed3617a2994802ef5c292e276530 100644
--- a/src/calladapter.cpp
+++ b/src/calladapter.cpp
@@ -651,7 +651,6 @@ CallAdapter::updateCallOverlay(const lrc::api::conversation::Info& convInfo)
     bool isAudioOnly = call->isAudioOnly && !isPaused;
     bool isAudioMuted = call->audioMuted && (call->status != lrc::api::call::Status::PAUSED);
     bool isVideoMuted = call->isAudioOnly || (call->videoMuted && !isPaused);
-    bool isRecording = isRecordingThisCall();
     bool isConferenceCall = !convInfo.confId.isEmpty()
                             || (convInfo.confId.isEmpty() && call->participantsInfos.size() != 0);
     bool isGrid = call->layout == lrc::api::call::Layout::GRID;
@@ -660,7 +659,6 @@ CallAdapter::updateCallOverlay(const lrc::api::conversation::Info& convInfo)
                          isAudioOnly,
                          isAudioMuted,
                          isVideoMuted,
-                         isRecording,
                          accInfo.profileInfo.type == lrc::api::profile::Type::SIP,
                          isConferenceCall,
                          isGrid);
diff --git a/src/calladapter.h b/src/calladapter.h
index 804e0dab3b4cdb9af000506cb62375675d0af317..e9f39ba9cf5c915d5635f7457772bd097e1f68c6 100644
--- a/src/calladapter.h
+++ b/src/calladapter.h
@@ -99,7 +99,6 @@ Q_SIGNALS:
                        bool isAudioOnly,
                        bool isAudioMuted,
                        bool isVideoMuted,
-                       bool isRecording,
                        bool isSIP,
                        bool isConferenceCall,
                        bool isGrid);
diff --git a/src/mainview/components/CallActionBar.qml b/src/mainview/components/CallActionBar.qml
index 7b4ef46da41f250639258d7fd77add96003e8f78..62d8981bb5dea53f3585aa3f411f5684b555c570 100644
--- a/src/mainview/components/CallActionBar.qml
+++ b/src/mainview/components/CallActionBar.qml
@@ -353,6 +353,7 @@ Control {
         overflowItemCount = CallOverlayModel.secondaryModel().rowCount()
 
         muteAudioAction.checked = isAudioMuted
+        recordAction.checked = CallAdapter.isRecordingThisCall()
         muteVideoAction.checked = isAudioOnly ? true : isVideoMuted
     }
 
diff --git a/src/mainview/components/CallOverlay.qml b/src/mainview/components/CallOverlay.qml
index f8089718d40e4aa2a7cdba0ab7755484c2f905a8..f946c6a73b4bcb1648d7f9ebf51bfd9dbc5a2c89 100644
--- a/src/mainview/components/CallOverlay.qml
+++ b/src/mainview/components/CallOverlay.qml
@@ -62,7 +62,7 @@ Item {
     }
 
     function updateUI(isPaused, isAudioOnly, isAudioMuted,
-                      isVideoMuted, isRecording, isSIP,
+                      isVideoMuted, isSIP,
                       isConferenceCall, isGrid) {
         if (isPaused !== undefined) {
             root.isPaused = isPaused
@@ -70,13 +70,13 @@ Item {
             root.isAudioMuted = isAudioMuted
             root.isVideoMuted = isVideoMuted
             callViewContextMenu.isVideoMuted = root.isVideoMuted
-            root.isRecording = isRecording
             root.isSIP = isSIP
             root.isConferenceCall = isConferenceCall
             root.isGrid = isGrid
             mainOverlay.recordingVisible = isRecording
             root.localHandRaised = CallAdapter.isHandRaised()
         }
+        root.isRecording = CallAdapter.isRecordingThisCall()
         root.isModerator = CallAdapter.isCurrentModerator()
     }
 
diff --git a/src/mainview/components/OngoingCallPage.qml b/src/mainview/components/OngoingCallPage.qml
index f2905207a83089b16a1ebf80b7f0d2c981c48116..e3664b2992cc96b7a60e00663feca686063f09b0 100644
--- a/src/mainview/components/OngoingCallPage.qml
+++ b/src/mainview/components/OngoingCallPage.qml
@@ -273,13 +273,13 @@ Rectangle {
                         target: CallAdapter
 
                         function onUpdateOverlay(isPaused, isAudioOnly, isAudioMuted, isVideoMuted,
-                                                 isRecording, isSIP, isConferenceCall, isGrid) {
+                                                 isSIP, isConferenceCall, isGrid, previewId) {
                             callOverlay.showOnHoldImage(isPaused)
                             root.isAudioOnly = isAudioOnly
                             audioCallPageRectCentralRect.visible = !isPaused && root.isAudioOnly
                             callOverlay.updateUI(isPaused, isAudioOnly,
                                                  isAudioMuted, isVideoMuted,
-                                                 isRecording, isSIP,
+                                                 isSIP,
                                                  isConferenceCall, isGrid)
                             callOverlay.participantsLayer.update(CallAdapter.getConferencesInfos())
                         }