--- boost\boost\scoped_ptr.hpp	Mon Sep  9 14:52:49 2002
+++ boost_1_29_0\boost\scoped_ptr.hpp	Sat Sep  7 14:46:29 2002
@@ -61,11 +61,9 @@
 
     void reset(T * p = 0) // never throws
     {
-        if (ptr != p)
-        {
-            checked_delete(ptr);
-            ptr = p;
-        }
+        BOOST_ASSERT(ptr != p);
+
+        scoped_ptr(p).swap(*this);
     }
 
     T & operator*() const // never throws

