diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c
index e725adfae0ad1130f6edf6596003d52012aaf652..943cbe820f3bf6037ae1fcf7db900290ec057dad 100644
--- a/src/syncterm/bbslist.c
+++ b/src/syncterm/bbslist.c
@@ -1451,8 +1451,8 @@ edit_list(struct bbslist **list, struct bbslist *item, char *listpath, int isdef
 		if (i >= 0) {
 			if (optmap[i] == BBSLIST_FIELD_NONE)
 				continue;
-			i = optmap[i];
 			strcpy(optname, opt[i]);
+			i = optmap[i];
 			for (tmpptr = optname; *tmpptr; tmpptr++) {
 				if (tmpptr[0] == 0)
 					break;