We can guess why it may be slow. I'm doing another pass to clean it. With isKindOf: in the middle :) Stef showTemporaryCursor: cursorOrNil hotSpotOffset: hotSpotOffset "Set the temporary cursor to the given Form. If the argument is nil, revert to the normal hardware cursor." self changed. temporaryCursorOffset ifNotNil: [bounds := bounds translateBy: temporaryCursorOffset negated]. cursorOrNil isNil ifTrue: [temporaryCursor := temporaryCursorOffset := hardwareCursor := nil] ifFalse: [temporaryCursor := cursorOrNil asCursorForm. temporaryCursorOffset := temporaryCursor offset - hotSpotOffset. (cursorOrNil isKindOf: Cursor) ifTrue: [hardwareCursor := cursorOrNil]]. bounds := self cursorBounds. self userInitials: userInitials andPicture: self userPicture; layoutChanged; changed I will not clean that for the moment, just the handleMorph with initials and picture :). Stef