diff --git a/src/net/java/sip/communicator/impl/protocol/sip/SipRegistrarConnection.java b/src/net/java/sip/communicator/impl/protocol/sip/SipRegistrarConnection.java index 11f842b22..0e7a4499d 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/SipRegistrarConnection.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/SipRegistrarConnection.java @@ -655,9 +655,11 @@ private void unregister(boolean sendUnregister) throws OperationFailedException unregisterTransaction.sendRequest(); logger.info("sent request: " + unregisterRequest); - //if we're currently registered we'll wait for an ok response - //before changing the status. otherwise we set it immediately. - if(!getRegistrationState().equals(RegistrationState.REGISTERED)) + //if we're currently registered or in a process of unregistering + //we'll wait for an ok response before changing the status. + //otherwise we set it immediately. + if(!(getRegistrationState().equals(RegistrationState.REGISTERED) || + getRegistrationState().equals(RegistrationState.UNREGISTERING))) { logger.info("Setting state to UNREGISTERED."); setRegistrationState(