|  | @@ -1739,22 +1739,24 @@ router_pick_trusteddirserver_impl(const smartlist_t *sourcelist,
 | 
	
		
			
				|  |  |        result = &selection->fake_status;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  if (n_busy_out)
 | 
	
		
			
				|  |  | -    *n_busy_out = n_busy;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    smartlist_free(direct);
 | 
	
		
			
				|  |  |    smartlist_free(tunnel);
 | 
	
		
			
				|  |  |    smartlist_free(overloaded_direct);
 | 
	
		
			
				|  |  |    smartlist_free(overloaded_tunnel);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  if (result == NULL && try_excluding && !options->StrictNodes && n_excluded) {
 | 
	
		
			
				|  |  | +  if (result == NULL && try_excluding && !options->StrictNodes && n_excluded
 | 
	
		
			
				|  |  | +      && !n_busy) {
 | 
	
		
			
				|  |  |      /* If we got no result, and we are excluding nodes, and StrictNodes is
 | 
	
		
			
				|  |  |       * not set, try again without excluding nodes. */
 | 
	
		
			
				|  |  |      try_excluding = 0;
 | 
	
		
			
				|  |  |      n_excluded = 0;
 | 
	
		
			
				|  |  | +    n_busy = 0;
 | 
	
		
			
				|  |  |      goto retry_without_exclude;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  if (n_busy_out)
 | 
	
		
			
				|  |  | +    *n_busy_out = n_busy;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    return result;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |