The current CVS's CopySupport._get_id funtion is a little buggy. When pasting a copied object more than one time, the generated Ids are [original] [copy of original] copy2 of copy of original copy3 of copy2 of copy of original ... which is misleading. The attached function code (sorry, I have no diff available) fixes this to [original] [copy of original] copy2 of original copy3 of original ... and contains a proposal also: The first two lines try: return ob._get_id(id) except AttributeError: pass call a container's _get_id method if available to allow customization. * * * If you change CopySupport.py please have a look to "[Zope-dev] Possible bug in CopySupport.py (Zope 1.10.2)" as well, which I posted two weeks ago to zope-dev Thanks, Stefan * * * [CopySupport.py, line 426] def _get_id(ob, id): try: return ob._get_id(id) except AttributeError: pass try: ob=ob.aq_base except: pass n=0 if (len(id) > 8) and (id[8:]=='copy_of_'): n=1 orig_id = id while (hasattr(ob, id)): id='copy%s_of_%s' % (n and n+1 or '', orig_id) n=n+1 return id