diff --git a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
index 0209ce3..eb97f2a 100644
--- a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
+++ b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
@@ -92,7 +92,8 @@ export default function ReviewButtons(props: ReviewId) {
 
 	const visibleButtons: ReviewButton[] = [];
 
-	if (user === props.submissionSubmitter) {
+	const is_submitter = user === props.submissionSubmitter;
+	if (is_submitter) {
 		if ([SubmissionStatus.UnderConstruction, SubmissionStatus.ChangesRequested].includes(submissionStatus!)) {
 			visibleButtons.push({ name: "Submit", action: "submit", color: "info", submissionId });
 		}
@@ -102,7 +103,9 @@ export default function ReviewButtons(props: ReviewId) {
 	}
 
 	if (roles&RolesConstants.SubmissionReview) {
-		if (submissionStatus === SubmissionStatus.Submitted) {
+		// you can't review your own submission!
+		// note that this means there needs to be more than one person with SubmissionReview
+		if (!is_submitter && submissionStatus === SubmissionStatus.Submitted) {
 			visibleButtons.push({ name: "Accept", action: "trigger-validate", color: "info", submissionId });
 			visibleButtons.push({ name: "Reject", action: "reject", color: "error", submissionId });
 		}
@@ -112,7 +115,12 @@ export default function ReviewButtons(props: ReviewId) {
 		if (submissionStatus === SubmissionStatus.Validating) {
 			visibleButtons.push({ name: "Reset Validating (fix softlocked status)", action: "reset-validating", color: "error", submissionId });
 		}
-		if ([SubmissionStatus.Validated, SubmissionStatus.Accepted, SubmissionStatus.Submitted].includes(submissionStatus!)) {
+		// this button serves the same purpose as Revoke if you are both
+		// the map submitter and have SubmissionReview when status is Submitted
+		if (
+			[SubmissionStatus.Validated, SubmissionStatus.Accepted].includes(submissionStatus!)
+			|| !is_submitter && submissionStatus == SubmissionStatus.Submitted
+		) {
 			visibleButtons.push({ name: "Request Changes", action: "request-changes", color: "error", submissionId });
 		}
 	}