diff -r 5b25498da7d2 -r 2386ff0bc070 Model.st --- a/Model.st Wed Nov 09 13:09:45 2016 +0100 +++ b/Model.st Fri Nov 11 17:21:32 2016 +0100 @@ -213,16 +213,19 @@ deps := dependents. deps notNil ifTrue:[ deps isCollection ifTrue:[ - deps remove:anObject ifAbsent:[]. - (sz := deps size) == 0 ifTrue:[ - dependents := nil - ] ifFalse:[ - sz == 1 ifTrue:[ - (dep := deps first) isCollection ifFalse:[ - dependents := dep + dep := deps remove:anObject ifAbsent:[]. + "if dep is nil, nothing has changed" + dep notNil ifTrue:[ + (sz := deps size) == 0 ifTrue:[ + dependents := nil + ] ifFalse:[ + sz == 1 ifTrue:[ + (dep := deps first) isCollection ifFalse:[ + dependents := dep + ] ] - ] - ] + ]. + ]. ] ifFalse:[ deps == anObject ifTrue:[ dependents := nil