diff --git a/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx b/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx
index c9138c0..b695f45 100644
--- a/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx
+++ b/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx
@@ -10,6 +10,7 @@ interface ReviewAction {
 
 const ReviewActions = {
 	Submit: {name:"Submit",action:"trigger-submit"} as ReviewAction,
+	ResetSubmitting: {name:"Reset Submitting (fix softlocked status)",action:"reset-submitting"} as ReviewAction,
 	Revoke: {name:"Revoke",action:"revoke"} as ReviewAction,
 	Accept: {name:"Accept",action:"trigger-validate"} as ReviewAction,
 	Reject: {name:"Reject",action:"reject"} as ReviewAction,
@@ -112,6 +113,9 @@ export default function ReviewButtons(props: ReviewId) {
 		if ([MapfixStatus.Submitted, MapfixStatus.ChangesRequested].includes(mapfixStatus!)) {
 			visibleButtons.push({ action: ReviewActions.Revoke, color: "info", mapfixId });
 		}
+		if (mapfixStatus === MapfixStatus.Submitting) {
+			visibleButtons.push({ action: ReviewActions.ResetSubmitting, color: "error", mapfixId });
+		}
 	}
 
 	if (roles&RolesConstants.MapfixReview) {
diff --git a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
index aa68897..2ac0ad8 100644
--- a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
+++ b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
@@ -10,6 +10,7 @@ interface ReviewAction {
 
 const ReviewActions = {
 	Submit: {name:"Submit",action:"trigger-submit"} as ReviewAction,
+	ResetSubmitting: {name:"Reset Submitting (fix softlocked status)",action:"reset-submitting"} as ReviewAction,
 	Revoke: {name:"Revoke",action:"revoke"} as ReviewAction,
 	Accept: {name:"Accept",action:"trigger-validate"} as ReviewAction,
 	Reject: {name:"Reject",action:"reject"} as ReviewAction,
@@ -112,6 +113,9 @@ export default function ReviewButtons(props: ReviewId) {
 		if ([SubmissionStatus.Submitted, SubmissionStatus.ChangesRequested].includes(submissionStatus!)) {
 			visibleButtons.push({ action: ReviewActions.Revoke, color: "info", submissionId });
 		}
+		if (submissionStatus === SubmissionStatus.Submitting) {
+			visibleButtons.push({ action: ReviewActions.ResetSubmitting, color: "error", submissionId });
+		}
 	}
 
 	if (roles&RolesConstants.SubmissionReview) {