diff --git a/utils/processes.lisp b/utils/processes.lisp
index 1cb2f5e8473623067ee5df1922cc0c5aa4bb1f59..eca0fe26b276388e3ad89495816020dff3b98cbc 100644
--- a/utils/processes.lisp
+++ b/utils/processes.lisp
@@ -219,8 +219,9 @@
      (process-yield)))
 
 (defun process-wait-with-timeout (reason timeout predicate)
-  (bt:with-timeout (timeout)
-    (process-wait reason predicate)))
+  (if (numberp timeout)
+      (bt:with-timeout (timeout) (process-wait reason predicate))
+      (process-wait reason predicate)))
 
 (defun process-interrupt (process function)
   (declare #+CCL-2 (ignore process))