diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp
index 9bd69146c44e0b0fcaa096e394ffa0f1c488a308..eaeebec51bb1e49cbb2017e66293bfc244c4cdf4 100644
--- a/uiop/run-program.lisp
+++ b/uiop/run-program.lisp
@@ -911,8 +911,8 @@ or an indication of failure via the EXIT-CODE of the process"
       (apply (if (or force-shell
                      #+(or clasp clisp) (or (not ignore-error-status) t)
                      #+clisp (member error-output '(:interactive :output))
-                     ;; old versions of ecl <= 15.3.7 don't support :error
-                     #+ecl (and (nth-value 1 (ignore-errors (slot-value (ext:make-external-process) 'ext::error)))
+                     ;; old versions of ecl <= 15.3.7 don't support non-trivial :error
+                     #+ecl (and (nth-value 1 (ignore-errors (slot-value (ext:make-external-process) 'ext::error-stream)))
                                 (not (member error-output '(:interactive :output nil))))
                      #+(and lispworks os-unix) (%interactivep input output error-output)
                      #+(or abcl cormanlisp gcl (and lispworks os-windows) mcl xcl) t)
@@ -924,4 +924,4 @@ or an indication of failure via the EXIT-CODE of the process"
              :if-output-exists if-output-exists
              :if-error-output-exists if-error-output-exists
              :element-type element-type :external-format external-format
-           keys))))
+             keys))))