@@ -426,23 +426,23 @@ fsuid = appfs_get_fsuid(); if (fsuid == last_fsuid && last_homedir_obj != NULL) { homedir_obj = last_homedir_obj; } else { - if (last_homedir_obj != NULL) { - Tcl_DecrRefCount(last_homedir_obj); - } - homedir = appfs_get_homedir(appfs_get_fsuid()); if (homedir == NULL) { return(TCL_ERROR); } homedir_obj = Tcl_NewStringObj(homedir, -1); free(homedir); + + if (last_homedir_obj != NULL) { + Tcl_DecrRefCount(last_homedir_obj); + } last_homedir_obj = homedir_obj; last_fsuid = fsuid; Tcl_IncrRefCount(last_homedir_obj);