Nice theorem from Dusko Pavlovic. But there's a better one: If a topos with NNO is CSB then it's boolean (where CSB means: if two objects be retracts of each other they are necessarily isomorphic). Let _A_ be a topos with NNO, N. Let D be its object that "classifies dense subobjects", that is, the object with a distinguished point t:1 -> D such that for every double-negation dense subobject A' -> A there is a unique map A -> D such that A' -> A is the inverse image of t:1 -> D. (We may construct D as the double-negation closure of the t in Omega.) It suffices to show that D is isomorphic to 1. CSB implies that 1 + N x D and N x D are isomorphic. Let 1 + N x D -> N x D be an isomorphism. Preceding by the injection of 1 and following by the projection onto N we obtain 1 -> 1 + N x D -> N x D -> N which yields a countable partitioning of 1, that is, an (internally definable) sequence of pairwise-disjoint subobjects whose union is 1. Let U be an arbitrary one of these subobjects. It suffices to show that the slice topos, *A*/U, is boolean. Without loss of generality, then, we may assume that U = 1, that is, we may assume that the map 1 -> 1 + N x D -> N x D -> N is itself the inclusion map of a complemented subobject of N. Restated: the isomorphism carries the complemented copy of 1 in 1 + N x D to a complemented copy of D in N x D forcing D to have a complemented copy of 1. It is left as an exercise to see that the only way that D can have a complemented copy of 1 is if it is that copy of 1. Can we remove the need for NNO? Nope. Let M be any finite monoid. The category of finite M-sets is a topos. Every endomorphism monoid is finite, hence every monic (or epic) endo is an auto and CSB more than holds.