Brian, Here is the code I have for the ZClass is was building when I found this out. Does any of this look like "custom code" that would account for a leading slash? <dtml-comment> Set a REQUEST object called 'id' as a unique number by representing the current time as an integer, and then convert that to a string. </dtml-comment> <dtml-call "REQUEST.set('id', _.str(_.int(ZopeTime())))"> <dtml-comment> Create an instance of the CompanyClass with the 'id' we just set in the REQUEST. </dtml-comment> <dtml-with "CompanyClass.createInObjectManager(REQUEST['id'], REQUEST)"> <dtml-comment> Pack all of our for values and anything else in the REQUEST into the proerties of the CompanyClass instance we just created. </dtml-comment> <dtml-call "propertysheets.Company_properties.manage_editProperties(REQUEST)"> <dtml-comment> Because the 'CreateInObjectManager' we called above indexes the object before we called 'manage_editProperties', all of the properties of our new Company are blank as far as the Catalog is concerned. Not Good! So we tell the Ctalog to take another look, now that they have values. </dtml-comment> <dtml-call reindex_object> </dtml-with> <dtml-comment> Okay, now that we've created a Company, let's be nice and send the user into it. We do this by redirecting the browser to a page inside our new object. The URL2 tells us to chop off the last 'two' elements of the current URL and the the '+' adds on the id of the object we just created. So they end up inside the new Company! </dtml-comment> <dtml-call "RESPONSE.redirect( URL2 + '/' + REQUEST['id'] )"> This is very basic stuff, so I was suprized to see a problem. I am calling something in a nold way that doesn't need to be? Please let me know. -- Jason Spisak webmaster@hiretechs.com