diff --git a/frontend/public/locales/en/common.json b/frontend/public/locales/en/common.json
index cb7264abda8a53669751faa3fb4c6d7e4e010a49..626146e47749bdbf67013d08eb520a3759701a1b 100644
--- a/frontend/public/locales/en/common.json
+++ b/frontend/public/locales/en/common.json
@@ -43,6 +43,7 @@
     "bodyText": "Here you can add a new role to the same guest"
   },
   "register": {
+    "noResults": "No guest matching your search found.",
     "registerHeading": "Register new guest",
     "registerText": "Please search for e-mail or phone number before registering a new guest to prevent duplicates.",
     "registerButtonText": "Register new guest"
diff --git a/frontend/public/locales/nb/common.json b/frontend/public/locales/nb/common.json
index 6268284c72a524fd2152add353e5c1b67c5e9760..a21f2302e4289250ceeaca1ae8031139d82fcbcf 100644
--- a/frontend/public/locales/nb/common.json
+++ b/frontend/public/locales/nb/common.json
@@ -43,6 +43,7 @@
     "bodyText": "Her kan du legge til en ny rolle på samme gjest"
   },
   "register": {
+    "noResults": "Finner ingen gjestekontoer som matcher søket ditt.",
     "registerHeading": "Registrer ny gjest",
     "registerText": "Søk etter e-post eller mobilnummer før du registrerer ny gjest for å unngå dobbeltoppføringer.",
     "registerButtonText": "Registrer ny gjest"
diff --git a/frontend/public/locales/nn/common.json b/frontend/public/locales/nn/common.json
index b186583d1eab10289d1add8a535041e02392d443..620b235c2acec3037497556c0027784f00054ac2 100644
--- a/frontend/public/locales/nn/common.json
+++ b/frontend/public/locales/nn/common.json
@@ -44,6 +44,7 @@
     "bodyText": "Her kan du legge til en ny rolle på samme gjest"
   },
   "register": {
+    "noResults": "Finner ingen gjestekontoer som matcher søket ditt.",
     "registerHeading": "Registrer ny gjest",
     "registerText": "Søk etter e-post eller mobilnummer før du registrerer ny gjest for å unngå dobbeltoppføringer.",
     "registerButtonText": "Registrer ny gjest"
diff --git a/frontend/src/routes/sponsor/register/frontPage.tsx b/frontend/src/routes/sponsor/register/frontPage.tsx
index 3797e4d08059e5d1a2d9c64edf29a895272903b0..5ad6ac4ffc4398a8bff0971ce52480c86347b282 100644
--- a/frontend/src/routes/sponsor/register/frontPage.tsx
+++ b/frontend/src/routes/sponsor/register/frontPage.tsx
@@ -6,6 +6,8 @@ import SearchIcon from '@mui/icons-material/Search'
 import { useTranslation } from 'react-i18next'
 import { debounce } from 'lodash'
 import React, { useState } from 'react'
+import { Box, styled } from '@mui/system'
+import { fetchJsonOpts } from 'utils'
 
 type Guest = {
   first: string
@@ -14,21 +16,33 @@ type Guest = {
   value: string
 }
 
+const StyledSpan = styled('span')({
+  color: 'red',
+})
+
 function FrontPage() {
   const [t] = useTranslation('common')
   const [guests, setGuests] = useState<Guest[]>([])
+  const [searchHasInput, setSearchHasInput] = useState(false)
 
-  const getGuests = async (event: React.ChangeEvent<HTMLInputElement>) => {
+  const getGuests = (event: React.ChangeEvent<HTMLInputElement>) => {
     if (event.target.value) {
-      console.log('searching')
-      const response = await fetch(
-        `/api/ui/v1/person/search/${event.target.value}?format=json`
-      )
-      const repjson = await response.json()
-      console.log(repjson)
-      if (response.ok) {
-        setGuests(repjson)
-      }
+      setSearchHasInput(true)
+      fetch(`/api/ui/v1/person/search/${event.target.value}`, fetchJsonOpts())
+        .then((response) => {
+          if (response.ok) {
+            return response.json()
+          }
+          setSearchHasInput(false)
+          return []
+        })
+        .then((responseJson) => {
+          setGuests(responseJson)
+        })
+        .catch(() => {})
+    } else {
+      setSearchHasInput(false)
+      setGuests([])
     }
   }
   return (
@@ -36,36 +50,53 @@ function FrontPage() {
       <SponsorGuestButtons registerNewGuestActive />
       <h2>{t('register.registerHeading')}</h2>
       <p>{t('register.registerText')}</p>
-      <TextField
-        InputProps={{
-          endAdornment: (
-            <InputAdornment position="end">
-              <SearchIcon />
-            </InputAdornment>
-          ),
+      <Box
+        sx={{
+          borderStyle: () => (guests.length > 0 ? 'solid' : 'none'),
+          borderRadius: '5px',
+          borderColor: 'secondary.main',
+          padding: '7px 12px',
         }}
-        fullWidth
-        placeholder="Mobile phone, e-mail"
-        onChange={debounce(getGuests, 600)}
-      />
-      {guests ? (
-        guests.map((guest) => {
-          const guestTo = `/sponsor/guest/${guest.pid}`
-          return (
-            <MenuItem
-              key={`${guest.pid}-${guest.value}`}
-              component={Link}
-              to={guestTo}
-            >
-              {guest.first} {guest.last}
-              <br />
-              {guest.value}
-            </MenuItem>
-          )
-        })
-      ) : (
-        <></>
-      )}
+      >
+        <TextField
+          variant="standard"
+          error={searchHasInput && guests.length === 0}
+          InputProps={{
+            endAdornment: (
+              <InputAdornment position="end">
+                <SearchIcon />
+              </InputAdornment>
+            ),
+          }}
+          fullWidth
+          placeholder="Mobile phone, e-mail"
+          onChange={debounce(getGuests, 600)}
+        />
+        {guests.length === 0 && searchHasInput ? (
+          <StyledSpan>{t('register.noResults')}</StyledSpan>
+        ) : (
+          guests.map((guest) => {
+            const guestTo = `/sponsor/guest/${guest.pid}`
+            return (
+              <MenuItem
+                sx={{
+                  '&:hover': {
+                    fontWeight: 'bold',
+                  },
+                }}
+                key={`${guest.pid}-${guest.value}`}
+                component={Link}
+                to={guestTo}
+              >
+                {guest.first} {guest.last}
+                <br />
+                {guest.value}
+              </MenuItem>
+            )
+          })
+        )}
+      </Box>
+      <br />
       <Button
         variant="contained"
         color="secondary"