diff --git a/code/osf1-os.lisp b/code/osf1-os.lisp
index 4e8382a4325d864db0abfa8336484d87929faa5e..221397846578d81c1d17f54e127f4edb06be190c 100644
--- a/code/osf1-os.lisp
+++ b/code/osf1-os.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/osf1-os.lisp,v 1.4 1997/07/09 12:08:59 pw Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/osf1-os.lisp,v 1.5 1998/03/10 18:27:35 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -20,13 +20,21 @@
 (export '(*task-self* *task-data* *task-notify*))
 
 (pushnew :osf1 *features*)
+
 (setq *software-type* "OSF1")
 
+(defvar *software-version* nil "Version string for supporting software")
+
 (defun software-version ()
   "Returns a string describing version of the supporting software."
-  (string-trim '(#\newline)
-	       (with-output-to-string (stream)
-		 (run-program "/usr/bin/uname" '("-sr") :output stream))))
+  (unless *software-version*
+    (setf *software-version*
+	  (string-trim '(#\newline)
+		       (with-output-to-string (stream)
+			 (run-program "/usr/bin/uname"
+				      '("-sr")
+				      :output stream)))))
+  *software-version*)
 
 
 ;;; OS-Init initializes our operating-system interface.  It sets the values