There are cases when PluggableListMorph has is inner list cache in nil: *getListElementSelector: aSymbol "specify a selector that can be used to obtain a single element in the underlying list" getListElementSelector := aSymbol. list := nil. "this cache will not be updated if getListElementSelector has been specified, so go ahead and remove it"* ... But, there are some methods that send messages to that nil list and blow up :D, such as: *backgroundColorFor: aRow | anItem return | aRow ifNil: [ ^nil ]. anItem := list at: aRow ifAbsent: [ ^ nil ]. ... * Now, two solutions comes to my mind: put one more ward in: *backgroundColorFor: aRow | anItem return | (aRow isNil or: [ list isNil ]) ifTrue: [ ^nil ]. anItem := list at: aRow ifAbsent: [ ^ nil ]. ... * Or use #getList, which seems to be the most... cleaner. *backgroundColorFor: aRow | anItem return | aRow ifNil: [ ^nil ]. anItem := self getList at: aRow ifAbsent: [ ^ nil ]. ... * ? Guille, (meanwhile, opening a ticket :)).