|  | @@ -431,11 +431,10 @@ namespace System.Reactive.Linq.ObservableImpl
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      var j = i;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    var d = new SingleAssignmentDisposable();
 | 
	
		
			
				|  |  | -                    _subscriptions[j] = d;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |                      var o = new SourceObserver(this, j);
 | 
	
		
			
				|  |  | -                    d.Disposable = srcs[j].SubscribeSafe(o);
 | 
	
		
			
				|  |  | +                    _subscriptions[j] = o;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    o.SetResource(srcs[j].SubscribeSafe(o));
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  SetUpstream(StableCompositeDisposable.CreateTrusted(_subscriptions));
 | 
	
	
		
			
				|  | @@ -496,7 +495,7 @@ namespace System.Reactive.Linq.ObservableImpl
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            private sealed class SourceObserver : IObserver<TSource>
 | 
	
		
			
				|  |  | +            private sealed class SourceObserver : SafeObserver<TSource>
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  private readonly _ _parent;
 | 
	
		
			
				|  |  |                  private readonly int _index;
 | 
	
	
		
			
				|  | @@ -507,17 +506,17 @@ namespace System.Reactive.Linq.ObservableImpl
 | 
	
		
			
				|  |  |                      _index = index;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                public void OnNext(TSource value)
 | 
	
		
			
				|  |  | +                public override void OnNext(TSource value)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      _parent.OnNext(_index, value);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                public void OnError(Exception error)
 | 
	
		
			
				|  |  | +                public override void OnError(Exception error)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      _parent.OnError(error);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                public void OnCompleted()
 | 
	
		
			
				|  |  | +                public override void OnCompleted()
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      _parent.OnCompleted(_index);
 | 
	
		
			
				|  |  |                  }
 |