diff --git a/MainPage.xaml.cpp b/MainPage.xaml.cpp
index ef126753fe9f1f7b6582daf101cd3ce872b348ad..5bb65db3b58059e5907406d463ee2302d330bf40 100644
--- a/MainPage.xaml.cpp
+++ b/MainPage.xaml.cpp
@@ -289,8 +289,6 @@ MainPage::Application_VisibilityChanged(Object^ sender, VisibilityChangedEventAr
             }
         }
         if (isInCall) {
-            /*if (RingD::instance->currentCallId)
-                RingD::instance->unPauseCall(RingD::instance->currentCallId);*/
             vcm->InitializeCameraAsync(false);
             vcm->videoFrameCopyInvoker->Start();
         }
@@ -322,11 +320,6 @@ MainPage::Application_VisibilityChanged(Object^ sender, VisibilityChangedEventAr
             }
         }
         if (isInCall) {
-            // TODO
-            /*if (RingD::instance->currentCallId) {
-                MSG_("Pausing call: " + RingD::instance->currentCallId);
-                RingD::instance->pauseCall(RingD::instance->currentCallId);
-            }*/
             if (vcm->isPreviewing) {
                 vcm->StopPreviewAsync();
                 if (vcm->captureTaskTokenSource)
diff --git a/SmartPanel.xaml.cpp b/SmartPanel.xaml.cpp
index 64b7bfac2698212ebab2c6f33e777d0e9312dd0e..0157695aba25c2a68454699ec7aef88820ca34b5 100644
--- a/SmartPanel.xaml.cpp
+++ b/SmartPanel.xaml.cpp
@@ -22,6 +22,7 @@
 #include "SmartPanel.xaml.h"
 #include "qrencode.h"
 #include <MemoryBuffer.h>   // IMemoryBufferByteAccess
+#include "callmanager_interface.h"
 
 using namespace Platform;
 
@@ -127,15 +128,8 @@ SmartPanel::SmartPanel()
         case CallStatus::NONE:
         case CallStatus::ENDED:
         {
-            bool isInCall = false;
-            for (auto item : SmartPanelItemsViewModel::instance->itemsList) { // WTF!!! item instead of it!!!! (XXX)
-                if (item->_callId && item->_callStatus == CallStatus::IN_PROGRESS) {
-                    isInCall = true;
-                    RingD::instance->currentCallId = item->_callId;
-                    break;
-                }
-            }
-            if (!isInCall)
+            auto callsList = DRing::getCallList();
+            if (callsList.empty())
                 _settingsMenuButton_->Visibility = VIS::Visible;
             break;
         }
@@ -347,6 +341,7 @@ RingClientUWP::Views::SmartPanel::_acceptIncomingCallBtn__Click(Platform::Object
                 if (it->_callStatus != CallStatus::IN_PROGRESS)
                     RingD::instance->pauseCall(Utils::toString(it->_callId));
 
+            _settingsMenuButton_->Visibility = VIS::Collapsed;
 
             RingD::instance->acceptIncommingCall(callId);
         }