diff --git a/test/test-program.script b/test/test-program.script
index 994ca947d933bb9ecd31f3914fa61c278de66f70..d8465e80bd5f97adc0d672a1e4e78798a4ef496b 100644
--- a/test/test-program.script
+++ b/test/test-program.script
@@ -9,7 +9,9 @@
 
 #+allegro
 (defparameter *lisp*
-  (truename (subpathname #p"sys:" (first (raw-command-line-arguments)))))
+  (if (absolute-pathname-p (first (raw-command-line-arguments)))
+      (first (raw-command-line-arguments))
+    (truename (subpathname #p"sys:" (first (raw-command-line-arguments))))))
 
 ;; Try to load lisp-invocation from xcvb
 (setf *central-registry*
@@ -49,8 +51,8 @@
   (run-program
    (symbol-call :lisp-invocation :lisp-invocation-arglist
                 #+allegro :lisp-path #+allegro *lisp*
-		:image-path (native-namestring img)
-		:eval "(uiop:restore-image :entry-point 'hello:entry-point :lisp-interaction nil)")
+                :image-path (native-namestring img)
+                :eval "(uiop:restore-image :entry-point 'hello:entry-point :lisp-interaction nil)")
    :output :lines :error-output t))
  '("hello, world"))
 
@@ -60,9 +62,9 @@
  (run-program
   (symbol-call :lisp-invocation :lisp-invocation-arglist
                #+allegro :lisp-path #+allegro *lisp*
-	       :image-path (native-namestring img)
-	       :eval "(uiop:restore-image :entry-point 'hello:entry-point :lisp-interaction nil)"
-	       :arguments '("a" "b c" "d"))
+               :image-path (native-namestring img)
+               :eval "(uiop:restore-image :entry-point 'hello:entry-point :lisp-interaction nil)"
+               :arguments '("a" "b c" "d"))
   :output :lines :error-output t)
  '("hello, world"
    "You passed 3 arguments:"