      */
     private function disconnect():void
     {
+        handled = true;
         channel.removeEventListener(ChannelEvent.DISCONNECT, channelDisconnectHandler);
         channel.removeEventListener(ChannelFaultEvent.FAULT, channelFaultHandler);
     }

     */
    override protected function statusHandler(msg:IMessage):void
    {
        disconnect();

        // even a fault is still an acknowledgement of a message sent so pass it on...

     */
    protected function channelFaultHandler(event:ChannelFaultEvent):void
    {
        if (handled)
            return;
            
        disconnect();
        var errorMsg:ErrorMessage = event.createErrorMessage();
        errorMsg.correlationId = message.messageId;
