diff --git a/web/lib/msgslib.ssjs b/web/lib/msgslib.ssjs
index 052dd52328a8bc29af6b54c55fc4e2b50dcb4fd0..1a87ad2b15035f3f7db2bd54473feb6ca3a20b63 100644
--- a/web/lib/msgslib.ssjs
+++ b/web/lib/msgslib.ssjs
@@ -103,3 +103,20 @@ function get_msg_offset(number)
 	}
 	return(undefined);
 }
+
+function can_delete(mnum)
+{
+	if(sub=='mail' && ((idx=msgbase.get_msg_index(false,mnum))==null || idx.to!=user.number))
+		return(false);
+	if(sub!='mail' && !msg_area.sub[sub].is_operator) {
+		if(!msg_area.sub[sub].settings&SUB_DEL)
+			return(false);
+		if(msg_area.sub[sub].settings&SUB_DELLAST) {
+			if(msgbase.last_msg!=mnum)
+				return(false);
+		}
+		if((hdr=msgbase.get_msg_header(false,mnum))==null || hdr.from_ext!=user.number)
+			return(false);
+	}
+	return(true);
+}