diff --git a/warden_ra/warden_ra.py b/warden_ra/warden_ra.py
index 1f03a1a1dec952cea4b99c59eb4aecfb90d90147..baf73388561bc4d832e8c10be6b4ec299457af67 100755
--- a/warden_ra/warden_ra.py
+++ b/warden_ra/warden_ra.py
@@ -250,7 +250,13 @@ class EjbcaRegistry(OpenSSLRegistry):
             subjectDN = self.subject_dn_template % client.name
         )
         edata["subjectAltName"] = ",".join(("RFC822NAME=%s" % a for a in client.admins))
-        edata["status"] = self.status_str_to_ejbca.get(client.status, edata["status"])
+        try:
+            edata["status"] = self.status_str_to_ejbca.get(client.status)
+        except KeyError:
+            # Unknown status - either came from EJBCA and translated to
+            # "Other", or something wrong came in later. Let's just
+            # keep original EJBCA status unchanged.
+            pass
         if client.pwd:
             edata["password"] = client.pwd
             edata["clearPwd"] = True