diff --git a/src/sbbs3/uedit/uedit.c b/src/sbbs3/uedit/uedit.c
index d4c09dcf3942c34bb2199e7cba39f94a3d284c38..0f597b7ca920b3c8f4484edd461f8910b7c2d3b9 100644
--- a/src/sbbs3/uedit/uedit.c
+++ b/src/sbbs3/uedit/uedit.c
@@ -1754,7 +1754,7 @@ int getuser(scfg_t *cfg, user_t *user, char* str)
 			}
 		}
 		FREE_AND_NULL(opt[j]);
-		if((opt[j]=(struct user_list *)alloca(sizeof(struct user_list)))==NULL)
+		if((opt[j]=(struct user_list *)malloc(sizeof(struct user_list)))==NULL)
 			allocfail(sizeof(struct user_list));
 		opt[j]->info[0]=0;
 		i=0;