diff --git a/src/error.c b/src/error.c
index a5e5de237c5dba0c2267e6bc05bad2e8689f9339..7b8f2aae0e0cd23b1403ce738ebfd3640f129deb 100644
--- a/src/error.c
+++ b/src/error.c
@@ -370,7 +370,7 @@ PMOD_EXPORT DECLSPEC(noreturn) void new_error(const char *name,
     push_int(0);
 
   for (i=-args; i; i++) {
-    if (TYPEOF(oldsp[i]) <= PIKE_T_FLOAT) {
+    if (TYPEOF(oldsp[i]) <= MAX_TYPE) {
       push_svalue(oldsp + i);
     } else {
       char buffer[50];