diff --git a/crates/api/src/local_user/login.rs b/crates/api/src/local_user/login.rs
index 11a5c6b0197ffbcad4ec91519d6825eb2a81eb29..46f547671faad899af62ab17c86889cc4659c988 100644
--- a/crates/api/src/local_user/login.rs
+++ b/crates/api/src/local_user/login.rs
@@ -4,7 +4,6 @@ use bcrypt::verify;
 use lemmy_api_common::{
   context::LemmyContext,
   person::{Login, LoginResponse},
-  utils,
   utils::check_user_valid,
 };
 use lemmy_db_schema::{
@@ -89,15 +88,12 @@ async fn check_registration_application(
     && !local_user_view.local_user.accepted_application
     && !local_user_view.local_user.admin
   {
-    // Fetch the registration, see if its denied
+    // Fetch the registration application. If no admin id is present its still pending. Otherwise it
+    // was processed (either accepted or denied).
     let local_user_id = local_user_view.local_user.id;
     let registration = RegistrationApplication::find_by_local_user_id(pool, local_user_id).await?;
-    if let Some(deny_reason) = registration.deny_reason {
-      let lang = utils::get_interface_language(local_user_view);
-      let registration_denied_message = format!("{}: {}", lang.registration_denied(), deny_reason);
-      Err(LemmyErrorType::RegistrationDenied(
-        registration_denied_message,
-      ))?
+    if registration.admin_id.is_some() {
+      Err(LemmyErrorType::RegistrationDenied(registration.deny_reason))?
     } else {
       Err(LemmyErrorType::RegistrationApplicationIsPending)?
     }
diff --git a/crates/utils/src/error.rs b/crates/utils/src/error.rs
index 079d0fc945dd04b3540f0d4910b673d99bab77c9..c37bdac0a4a5924799e9297bdc99b20a52319a12 100644
--- a/crates/utils/src/error.rs
+++ b/crates/utils/src/error.rs
@@ -196,7 +196,7 @@ pub enum LemmyErrorType {
   EmailSendFailed,
   Slurs,
   CouldntFindObject,
-  RegistrationDenied(String),
+  RegistrationDenied(Option<String>),
   FederationDisabled,
   DomainBlocked(String),
   DomainNotInAllowList(String),
@@ -276,12 +276,12 @@ mod tests {
 
   #[test]
   fn deserializes_with_message() {
-    let reg_denied = LemmyErrorType::RegistrationDenied(String::from("reason"));
-    let err = LemmyError::from(reg_denied).error_response();
+    let reg_banned = LemmyErrorType::PersonIsBannedFromSite(String::from("reason"));
+    let err = LemmyError::from(reg_banned).error_response();
     let json = String::from_utf8(err.into_body().try_into_bytes().unwrap().to_vec()).unwrap();
     assert_eq!(
       &json,
-      "{\"error\":\"registration_denied\",\"message\":\"reason\"}"
+      "{\"error\":\"person_is_banned_from_site\",\"message\":\"reason\"}"
     )
   }