diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index a2fbf71996c97751d38d4aca1aaa4ad42b8d5b0e..468d87741b825cfef586058c5bf242a9e49372f9 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -276,7 +276,7 @@ ManagerImpl::hangupCall (CALLID id)
   if (call == NULL) {
     return -1;
   }
-  if (call->getState() != Call::Error) { 
+  if (call->getState() == Call::Error) { 
     return -1; 
   }
   int result = call->hangup();