diff --git a/Source/NSOperation.m b/Source/NSOperation.m index 89e5f059e..6a7cc8aee 100644 --- a/Source/NSOperation.m +++ b/Source/NSOperation.m @@ -206,7 +206,10 @@ static NSArray *empty = nil; { NSOperation *op; - [self removeObserver: self forKeyPath: @"isFinished"]; + if (!internal->finished) + { + [self removeObserver: self forKeyPath: @"isFinished"]; + } while ((op = [internal->dependencies lastObject]) != nil) { [self removeDependency: op];