Here is the reason why Clipboard was not well initialized and the general problem with the startup list if we execute Smalltalk initialize :) in the startup list not complete (and cannot really because other classes may dynamically register themselves) SmalltalkImage>>initializeStartUpList "SmalltalkImage initializeStartUpList" | oldList | oldList := StartUpList. StartUpList := OrderedCollection new. "These get processed from the top down..." #( Delay DisplayScreen Cursor InputEventFetcher ProcessorScheduler "Starts low space watcher and bkground." LanguageEnvironment FileDirectory "Enables file stack dump and opens sources." NaturalLanguageTranslator ShortIntegerArray ShortRunArray CrLfFileStream ) do:[:clsName| Smalltalk at: clsName ifPresent:[:cls| Smalltalk addToStartUpList: cls]. ]. oldList ifNotNil: [oldList do: [:className | Smalltalk at: className ifPresent: [:theClass | Smalltalk addToStartUpList: theClass]]]. #( PasteUpMorph "ControlManager" ) do:[:clsName| Smalltalk at: clsName ifPresent:[:cls| Smalltalk addToStartUpList: cls]. ]. Now if we check the classes that have a addToStartUpList: call and that are not in the previous list. We see that we missed a lot of them. classes := ((SystemNavigation default allCallsOn: #addToStartUpList:) collect: [ :e | e methodClass ]), ((SystemNavigation default allCallsOn: #addToStartUpList:after:) collect: [ :e | e methodClass ]). classNames := classes collect: [ :n | n instanceSide name ]. (Smalltalk class classVarNamed: 'StartUpList') do: [ :s | classNames remove: s ifAbsent: [] ]. classNames asSortedCollection a SortedCollection(#AutoStart #CPUWatcher #Clipboard #CommandHistory #ExternalSettings #FreeTypeFontProvider #FreeTypeSettings #HostSystemMenus #HostWindowProxy #InputEventSensor #InternetConfiguration #Locale #MenuIcons #MultiByteFileStream #OSPlatform #ProcessBrowser #SecurityManager #SmalltalkImage #SmalltalkImage #SystemDictionary #SystemDictionary #UITheme #UUIDGenerator #WeakArray). InputEventSensor has startup and shutdown but no initialize Stef