diff --git a/frontend/public/locales/en/common.json b/frontend/public/locales/en/common.json
index 65bb63eabaaf06d3ae8459a9ca0235ed2ef8dee9..40684e8e73052b57550fa757076ecbbb9c0bde8c 100644
--- a/frontend/public/locales/en/common.json
+++ b/frontend/public/locales/en/common.json
@@ -131,6 +131,7 @@
     "nationalIdNumberRequired": "Norwegian national ID number required",
     "roleTypeRequired": "Role type is required",
     "roleEndRequired": "Role end date is required",
+    "invalidEndDate": "Chosen role must have an earlier end date",
     "emailRequired": "E-mail is required",
     "consentRequired": "This consent is required",
     "invalidMobilePhoneNumber": "Invalid phone number",
diff --git a/frontend/public/locales/nb/common.json b/frontend/public/locales/nb/common.json
index 908dd470185b6a23432f655911cc459a747d323d..38363b4a5cbdbed42072ad2c934097ee521e5f4b 100644
--- a/frontend/public/locales/nb/common.json
+++ b/frontend/public/locales/nb/common.json
@@ -131,6 +131,7 @@
     "nationalIdNumberRequired": "Fødselsnummer/D-nummer er obligatorisk",
     "roleTypeRequired": "Rolletype er obligatorisk",
     "roleEndRequired": "Sluttdato for rolle er obligatorisk",
+    "invalidEndDate": "Valgt rolle må ha en tidligere sluttdato",
     "emailRequired": "E-post er obligatorisk",
     "consentRequired": "Dette samtykket er obligatorisk",
     "invalidMobilePhoneNumber": "Ugyldig telefonnummer",
diff --git a/frontend/public/locales/nn/common.json b/frontend/public/locales/nn/common.json
index 2119651fbcc34bf065c8fafcf8d398369df63c0a..e1669b95a47a6271577507a777c978e79e0745ae 100644
--- a/frontend/public/locales/nn/common.json
+++ b/frontend/public/locales/nn/common.json
@@ -131,6 +131,7 @@
     "nationalIdNumberRequired": "Fødselsnummer/D-nummer er påkrevd",
     "roleTypeRequired": "Rolletype er påkrevd",
     "roleEndRequired": "Sluttdato for rolle er påkrevd",
+    "invalidEndDate": "Vald rolle må ha ein tidlegare sluttdato",
     "emailRequired": "E-post er påkrevd",
     "consentRequired": "Dette samtykket er påkrevd",
     "invalidMobilePhoneNumber": "Ugyldig telefonnummer",
diff --git a/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx b/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx
index 7b158bd04aa6799974f60347a5098c7c5e79f016..f9671a6949817948f40270253c1959bfb17d3a97 100644
--- a/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx
+++ b/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx
@@ -305,6 +305,7 @@ function NewGuestRole({ guest, reloadGuestInfo }: NewGuestRoleProps) {
             control={control}
             rules={{
               required: true,
+              validate: () => Number(getValues('end_date')) <= Number(maxDate),
             }}
             render={({ field }) => (
               <DatePicker
@@ -328,6 +329,11 @@ function NewGuestRole({ guest, reloadGuestInfo }: NewGuestRoleProps) {
               {t('validation.roleEndRequired')}
             </Box>
           )}
+          {errors.end_date && errors.end_date.type === 'validate' && (
+            <Box sx={{ typography: 'caption', color: 'error.main' }}>
+              {t('validation.invalidEndDate')}
+            </Box>
+          )}
           {displayContactAtUnit && (
             <TextField
               id="contact"
diff --git a/frontend/src/routes/sponsor/register/stepPersonForm.tsx b/frontend/src/routes/sponsor/register/stepPersonForm.tsx
index 49fc572c791f3003b33e38d172e66c2edd4150e3..e9c8f5a15160262a9647743ed9b7edac23fcd90c 100644
--- a/frontend/src/routes/sponsor/register/stepPersonForm.tsx
+++ b/frontend/src/routes/sponsor/register/stepPersonForm.tsx
@@ -315,7 +315,11 @@ const StepPersonForm = forwardRef(
               <Controller
                 name="role_end"
                 control={control}
-                rules={{ required: true }}
+                rules={{
+                  required: true,
+                  validate: () =>
+                    Number(getValues('role_end')) <= Number(todayPlusMaxDays),
+                }}
                 render={({ field }) => (
                   <DatePicker
                     mask="____-__-__"
@@ -331,11 +335,16 @@ const StepPersonForm = forwardRef(
                   />
                 )}
               />
-              {!!errors.role_end && (
+              {!!errors.role_end && errors.role_end.type === 'required' && (
                 <Box sx={{ typography: 'caption', color: 'red' }}>
                   {t('validation.roleEndRequired')}
                 </Box>
               )}
+              {!!errors.role_end && errors.role_end.type === 'validate' && (
+                <Box sx={{ typography: 'caption', color: 'red' }}>
+                  {t('validation.invalidEndDate')}
+                </Box>
+              )}
 
               {displayContactAtUnit && (
                 <TextField