diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index 862b93d0358450a3d3fc8d471f5592f07b98a12a..465564260ef9bc5ad00236bef117e37ebd7dfd31 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -1568,14 +1568,17 @@ int main(int argc, char** argv)
 
 			pwent=getpwnam(new_uid_name);
 			if(pwent != NULL) {
-				sprintf(str,"USER=%s",pwent->pw_name);
-				putenv(str);
-				sprintf(str,"HOME=%s",pwent->pw_dir);
-				putenv(str);
+				char	uenv[128];
+				char	henv[MAX_PATH+6];
+				sprintf(uenv,"USER=%s",pwent->pw_name);
+				putenv(uenv);
+				sprintf(henv,"HOME=%s",pwent->pw_dir);
+				putenv(henv);
 			}
 			if(new_gid_name[0]) {
-				sprintf(str,"GROUP=%s",new_gid_name);
-				putenv(str);
+				char	genv[128];
+				sprintf(genv,"GROUP=%s",new_gid_name);
+				putenv(genv);
 			}
 			sprintf(str,"Successfully changed user_id to %s", new_uid_name);
 			bbs_lputs(NULL,LOG_INFO,str);