diff --git a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
index 71fb83e..73e1581 100644
--- a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
+++ b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx
@@ -17,6 +17,7 @@ interface ReviewButton {
 interface ReviewId {
 	submissionId: string,
 	submissionStatus: number,
+	submissionSubmitter: number,
 }
 
 async function ReviewButtonClicked(action: ApiActions, submissionId: string) {
@@ -63,6 +64,7 @@ export default function ReviewButtons(props: ReviewId) {
 	// Upload         | MapAdmin  | Validated
 	// ResetUploading | MapAdmin  | Uploading
 	const { submissionId, submissionStatus } = props;
+	const [user, setUser] = useState<number|null>(null);
 	const [roles, setRoles] = useState<Roles>(Roles.Empty);
 	const [loading, setLoading] = useState(true);
 
@@ -72,8 +74,12 @@ export default function ReviewButtons(props: ReviewId) {
 				// Fetch user roles
 				const rolesResponse = await fetch("/api/session/roles");
 				const rolesData = parseInt(await rolesResponse.text());
+				// Fetch user roles
+				const userResponse = await fetch("/api/session/user");
+				const userData = await userResponse.json();
 
 				setRoles(rolesData);
+				setUser(userData.userId);
 			} catch (error) {
 				console.error("Error fetching data:", error);
 			} finally {
@@ -88,8 +94,7 @@ export default function ReviewButtons(props: ReviewId) {
 
 	const visibleButtons: ReviewButton[] = [];
 
-	const is_submitter = false; // TODO: MY_USER === submission.Submitter
-	if (is_submitter) {
+	if (user === props.submissionSubmitter) {
 		if ([SubmissionStatus.UnderConstruction, SubmissionStatus.ChangesRequested].includes(submissionStatus!)) {
 			visibleButtons.push({ name: "Submit", action: "submit", color: "info", submissionId });
 		}
diff --git a/web/src/app/submissions/[submissionId]/page.tsx b/web/src/app/submissions/[submissionId]/page.tsx
index 3440604..9b8d4d1 100644
--- a/web/src/app/submissions/[submissionId]/page.tsx
+++ b/web/src/app/submissions/[submissionId]/page.tsx
@@ -18,6 +18,7 @@ interface ReviewId {
 	submissionId: string;
 	assetId: number;
 	submissionStatus: number;
+	submissionSubmitter: number,
 }
 
 function Ratings() {
@@ -48,7 +49,7 @@ function RatingArea(submission: ReviewId) {
          		<MapImage id={submission.assetId}/>
          	</section>
             <Ratings/>
-			<ReviewButtons submissionId={submission.submissionId} submissionStatus={submission.submissionStatus}/>
+			<ReviewButtons submissionId={submission.submissionId} submissionStatus={submission.submissionStatus} submissionSubmitter={submission.submissionSubmitter}/>
         </aside>
     )
 }
@@ -98,7 +99,7 @@ export default function SubmissionInfoPage() {
         <Webpage>
             <main className="map-page-main">
                 <section className="review-section">
-					<RatingArea assetId={submission.AssetID} submissionId={dynamicId.submissionId} submissionStatus={submission.StatusID}/>
+					<RatingArea assetId={submission.AssetID} submissionId={dynamicId.submissionId} submissionStatus={submission.StatusID} submissionSubmitter={submission.Submitter}/>
                     <TitleAndComments name={submission.DisplayName} creator={submission.Creator} review={submission.StatusID} status_message={submission.StatusMessage} asset_id={submission.AssetID} comments={[]}/>
                 </section>
             </main>