diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index ab0f97ff7d588c5ed014647983ea0de8aa8db0cb..485c697de29969b9b1e36852c75acdb814f959c4 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -274,7 +274,7 @@ ManagerImpl::answerCall(const CallID& id)
     return false;
   }
 
-  if (hasCurrentCall()) {
+  if (id != getCurrentCallId()) {
     _debug("* Manager Info: there is currently a call, try to hold it\n");
     onHoldCall(getCurrentCallId());
   }