         }
         else // Not attempting failover.
         {
-    	    // If we own the wait guard for initial Channel connects release it.
-    	    if (_ownsWaitGuard)
-    	    {
-    	        _ownsWaitGuard = false;
-    	        FlexClient.getInstance().waitForFlexClientId = false; // Allow other Channels to connect.
-    	    }
-            
-            _connecting = false;
+    	    connectCleanup();
         }
         
         if (reconnecting)

    
    /**
     *  @private
     *  This method is invoked by a timer from failover() and it works around a 
     *  reconnect issue with NetConnection based channels by invoking 
     *  internalConnect() after a slight delay.

	    }
	    else
	    {
	        connectCleanup();
	    }
		
		dispatchEvent(ChannelEvent.createEvent(ChannelEvent.DISCONNECT, this, 
