This is another one that is weird. When I debug some code by introducing a self break statement, I usually get the values of the variables shown in the bottom of the debugger all messed up. It should be noted that "doiting" something which has self break opens a different debugger than debuging code directly. Here is an example to reproduce it. Maybe somebody has already opened a ticket for this problem. To try you can doit the following code and look at the values shown of x and y in the bottom left list of debugger. AClassToTest doSomeThingWith: 14@17. after creating AClassToTest: 'From Pharo0.1 of 16 May 2008 [Latest update: #10373] on 4 August 2009 at 1:07:23 am'! Object subclass: #AClassToTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'BreakPointBroken'! "-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "! AClassToTest class instanceVariableNames: ''! !AClassToTest class methodsFor: 'as yet unclassified' stamp: 'JEP 8/4/2009 00:29'! do: aBoolean ifTrue: tBlock ifFalse: fBlock aBoolean ifTrue: tBlock ifFalse: fBlock. ^true. ! ! !AClassToTest class methodsFor: 'as yet unclassified' stamp: 'JEP 8/4/2009 00:53'! doSomeThingWith: aPoint | x y | self break. self do: false ifTrue: [ x := aPoint x. y := aPoint y. ] ifFalse: [ 1 + 1. ]. ^x. ! ! -- Javier Pimás Ciudad de Buenos Aires