diff --git a/clx/translate.lisp b/clx/translate.lisp
index 18434e4ba55512f02e99bdeb91a7008988bcd3c9..4f70cadb2931ed5ef9cc8946eefa33dbef8ce789 100644
--- a/clx/translate.lisp
+++ b/clx/translate.lisp
@@ -163,7 +163,7 @@
 	         mask)
 	   (type (or null display) display)
            (type (or null keysym) lowercase)
-	   (type (function (display card16 t) t) translate))
+	   (type (or null (function (display card16 t) t)) translate))
   (flet ((merge-keysym-mappings (new old)
 	   ;; Merge new keysym-mapping with list of old mappings.
 	   ;; Ensure that the mapping with no modifiers or mask comes first.