diff --git a/src/sbbs3/readmsgs.cpp b/src/sbbs3/readmsgs.cpp
index ef9a646e50f01ae99e5b61d1a10eb703893e80ce..d1df5b860d239fa0e2f543884d99d06c5e5fb38a 100644
--- a/src/sbbs3/readmsgs.cpp
+++ b/src/sbbs3/readmsgs.cpp
@@ -1218,18 +1218,20 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find)
 
 				ZERO_VAR(vote);
 				if(msg.hdr.type == SMB_MSG_TYPE_POLL) {
-					unsigned answers=0;
+					str_list_t answers = NULL;
 					for(i=0; i<msg.total_hfields; i++) {
-						if(msg.hfield[i].type != SMB_POLL_ANSWER)
-							continue;
-						uselect(1, answers++, msg.subj, (char*)msg.hfield_dat[i], NULL);
+						if(msg.hfield[i].type == SMB_POLL_ANSWER)
+							strListPush(&answers, (char*)msg.hfield_dat[i]);
 					}
-					i = uselect(0, 0, NULL, NULL, NULL);
-					if(i < 0) {
+					SAFEPRINTF(str, text[BallotHdr], msg.subj);
+					i = mselect(str, answers, msg.hdr.votes ? msg.hdr.votes : 1, text[BallotAnswerFmt]
+						,text[PollAnswerChecked], nulstr, text[BallotVoteWhich]);
+					strListFree(&answers);
+					if(i <= 0) {
 						domsg = false;
 						break;
 					}
-					vote.hdr.votes = (1<<i);
+					vote.hdr.votes = i;
 					vote.hdr.attr = MSG_VOTE;
 					notice = text[PollVoteNotice];
 				} else {
diff --git a/src/sbbs3/text.h b/src/sbbs3/text.h
index 81bd67f3d97c7734cfc8517bb8e05e0aa5d154ec..4c53ceb3ce67d82dce33ad47a0918cb72dd177c1 100644
--- a/src/sbbs3/text.h
+++ b/src/sbbs3/text.h
@@ -801,6 +801,9 @@ enum {
 	,PollAnswerNumber
 	,PollAnswerFmt
 	,PollAnswerChecked
+	,BallotHdr
+	,BallotAnswerFmt
+	,BallotVoteWhich
 
 	,TOTAL_TEXT
 };
diff --git a/src/sbbs3/text_defaults.c b/src/sbbs3/text_defaults.c
index c67aedf4e276a18995fe9ed45d094c5d0d2ec073..9e20d7f911e6e22835c2430be08a2a508f8eea01 100644
--- a/src/sbbs3/text_defaults.c
+++ b/src/sbbs3/text_defaults.c
@@ -1307,4 +1307,8 @@ const char * const text_defaults[TOTAL_TEXT]={
 	,"\x01\x6e\x01\x63\x01\x68\x25\x32\x75\x01\x6e\x01\x63\x3a\x20" // 788 PollAnswerNumber
 	,"\x25\x2d\x2a\x2e\x2a\x73\x20\x5b\x25\x2d\x34\x75\x20\x25\x33\x2e\x30\x66\x25\x25\x5d" // 789 PollAnswerFmt
 	,"\x20\xfb" // 790 PollAnswerChecked
+	,"\x01\x6e\x01\x6c\x01\x67\x42\x61\x6c\x6c\x6f\x74\x20\x66\x6f\x72\x20\x01\x68\x25\x73\x0d\x0a\x0d\x0a" // 791 BallotHdr
+	,"\x01\x6e\x01\x63\x01\x68\x25\x32\x75\x01\x6e\x01\x63\x3a\x20\x25\x2d\x2a\x2e\x2a\x73\x20\x01\x68\x25\x73\x0d\x0a" // 792 BallotAnswerFmt
+	,"\x0d\x0a\x54\x6f\x67\x67\x6c\x65\x20\x77\x68\x69\x63\x68\x20\x76\x6f\x74\x65\x20\x28\x75\x70\x20\x74\x6f\x20\x25\x75\x29\x2c\x20"
+		"\x7e\x51\x75\x69\x74\x20\x6f\x72\x20\x5b\x43\x61\x73\x74\x5d\x3a\x20" // 793 BallotVoteWhich
 };