Hi, I was doing some hacking, and playing with NonInteractiveUIManager. And it puzzled me that I realized that it has an inst var *uiManager* that seems to refer to an uiManager it's replacing. But my UIManager is not replacing anyone, it's my default and unique UIManager and this var points to nil :S! So the code below does not work... onSnapshot: resuming "The resuming argument is true when image boots from disk, and false, if user just did an image snapshot." resuming ifTrue: [ Smalltalk isHeadless ifFalse: [ "restore old, or nil, so it will be set in #default " *uiManager beDefault. UIManager default onSnapshot: resuming.* ^ self ]. Smalltalk isInteractive ifTrue: [ "use a headless but interactive manager" ^ self headlessManager onSnapshot: resuming ]]. " this flag set to true only if we are saving a snapshot before quitting " doNotQuitOnRestart ifTrue: [ Smalltalk snapshot: false andQuit: true]. I made it work in my image adding within the controversial lines: uiManager ifNotNil: [ * uiManager beDefault. UIManager default onSnapshot: resuming.* ] But it really looks like a hack because that inst var is ment to do something else... Is it asking me for a refactor? Or am I using this stuff in the wrong way? Camillo, Igor? :P Guille