diff --git a/src/sbbs3/readmsgs.cpp b/src/sbbs3/readmsgs.cpp
index 1ecaffb61fb27d3690bdd75daeac6c3a24be9a1d..62acdc9453e38771261a4ccbfdc5b20c6b4b4969 100644
--- a/src/sbbs3/readmsgs.cpp
+++ b/src/sbbs3/readmsgs.cpp
@@ -950,11 +950,6 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find)
 							errormsg(WHERE,ERR_WRITE,smb.file,i,smb.last_error);
 						break;
 					}
-					SAFEPRINTF(str, text[DeleteTextFileQ], "Poll");
-					if(!yesno(str)) {
-						domsg=0;
-						break;
-					}
 				}
 				domsg=0;
 				if(!sub_op(subnum)) {
@@ -981,6 +976,14 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find)
 					domsg=0;
 					break; 
 				}
+				if(msg.hdr.type == SMB_MSG_TYPE_POLL)
+					SAFEPRINTF(str, text[DeleteTextFileQ], "Poll");
+				else
+					SAFEPRINTF2(str,text[DeletePostQ], smb.curmsg+1, msg.subj);
+				if(!(msg.hdr.attr&MSG_DELETE) && noyes(str)) {
+					domsg = false;
+					break;
+				}
 
 				FREE_AND_NULL(post);
 
@@ -1344,7 +1347,7 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find)
 									errormsg(WHERE,ERR_READ,smb.file,msg.idx.number);
 									break; 
 								}
-								sprintf(str,text[DeletePostQ],msg.hdr.number,msg.subj);
+								SAFEPRINTF2(str,text[DeletePostQ], smb.curmsg+1, msg.subj);
 								if(movemsg(&msg,subnum) && yesno(str)) {
 									msg.idx.attr|=MSG_DELETE;
 									msg.hdr.attr=msg.idx.attr;