diff -ruN xotcl-1.4.0/generic/xotcl.c xotcl-1.4.0sriv/generic/xotcl.c
--- xotcl-1.4.0/generic/xotcl.c 2006-02-23 12:41:47.000000000 -0500
+++ xotcl-1.4.0sriv/generic/xotcl.c     2006-04-11 08:44:47.000000000 -0400
@@ -1706,16 +1706,18 @@
             int instanceOpt, int resetOpt) {
   int valueLength, mustCopy = 1, format = 0;
   char *valueString, *c;
-  Tcl_Obj *valueObject, *result = NULL, *savedResult = NULL;
+  Tcl_Obj *valueObject, *result = NULL, *savedResult = NULL, *incrPtr;;
   XOTcl_FrameDecls;
   int flgs = TCL_LEAVE_ERR_MSG;
 
   XOTcl_PushFrame(in, obj);
   if (obj->nsPtr)
     flgs |= TCL_NAMESPACE_ONLY;
+    
+  incrPtr = Tcl_NewIntObj(1);
 
 #ifndef PRE83
-  valueObject = TclIncrVar2(in, XOTclGlobalObjects[XOTE_AUTONAMES], name, 1, flgs);
+  valueObject = TclIncrObjVar2(in, XOTclGlobalObjects[XOTE_AUTONAMES], name, incrPtr, flgs);
 #else
   valueObject = TclIncrVar2(in, XOTclGlobalObjects[XOTE_AUTONAMES], name, 1, 0);
 #endif

