diff --git a/src/manager.cpp b/src/manager.cpp
index fbb3e147a2065ee59ceffcb953454fc348cbcdc2..db27d570d66a25301a54d377ea89a1b93eebdb71 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -535,18 +535,15 @@ Manager::ManagerPimpl::processRemainingParticipants(Conference& conf)
         // the conference is over
         auto p = participants.begin();
         if (auto call = base_.getCallFromCallID(*p)) {
-            call->setConfId("");
             // if we are not listening to this conference and not a rendez-vous
-            auto isRdv = false;
-            if (auto acc = std::dynamic_pointer_cast<JamiAccount>(base_.getAccount(call->getAccountId())))
-                isRdv = acc->getAccountDetails()[Conf::CONFIG_ACCOUNT_ISRENDEZVOUS] == TRUE_STR;
-
-            if (!isRdv) {
-                if (current_call_id != conf.getConfID())
-                    base_.onHoldCall(call->getCallId());
-                else
-                    switchCall(call);
-            }
+            if(call->getAccount().isRendezVous())
+                return;
+
+            call->setConfId("");
+            if (current_call_id != conf.getConfID())
+                base_.onHoldCall(call->getCallId());
+            else
+                switchCall(call);
         }
 
         JAMI_DBG("No remaining participants, remove conference");