diff -r f48f8fbed3bb -r 72c9852d35bb connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/registry/Registry.java --- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/registry/Registry.java Fri Dec 18 13:58:04 2009 -0600 +++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/registry/Registry.java Fri Dec 18 14:48:04 2009 -0600 @@ -542,8 +542,7 @@ return; // transition to disconnected state and wait: - // if not in-use, remove and stop waiting - // if reconnected, stop waiting + // when not in-use, remove and stop waiting if (connection.getStatus().getEConnectionStatus().equals(EConnectionStatus.IN_USE)) { IConnectionStatus status = new ConnectionStatus(EConnectionStatus.IN_USE_DISCONNECTED, "connection has been disconnected while in use, please reconnect"); @@ -567,6 +566,9 @@ connectionListenerMap.put(connection, listener); connection.addStatusChangedListener(listener); } + else { + removeConnection(connection); + } } public boolean reconnect(IConnection2 connection) {