diff -r 1eef62f5c541 -r 2a5d4ab426d3 phoneengine/callhandling/src/cpecallhandling.cpp --- a/phoneengine/callhandling/src/cpecallhandling.cpp Mon Aug 23 15:42:12 2010 +0300 +++ b/phoneengine/callhandling/src/cpecallhandling.cpp Fri Sep 03 13:33:36 2010 +0300 @@ -1678,9 +1678,13 @@ TInt callIndex; CPESingleCall* callData; TInt errorCode( ECCPErrorNotFound ); + TBool onlyConferenceCall( ( iConferenceCall && + ( iConferenceCall->EnumerateCalls() == GetNumberOfCalls()) )); if ( ( iConferenceCall ) && - ( iConferenceCall->GetCallState() == EPEStateConnectedConference ) ) + ( iConferenceCall->GetCallState() == EPEStateConnectedConference || + (iConferenceCall->GetCallState() == EPEStateHeldConference && + onlyConferenceCall ) ) ) { errorCode = iConferenceCall->Swap(); }