diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index 31564bae3a9e3845adfb5dd756cca63944a6a72d..50b0fec466d16083f368d28eb9f70edecde9b8a5 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());
   }