diff --git a/code/pmax-disassem.lisp b/code/pmax-disassem.lisp
index 5aee6243cbb312c3013d0530ea492bc432036f72..620aa2bf188b5b93b16d22775a955f5ae95e4d48 100644
--- a/code/pmax-disassem.lisp
+++ b/code/pmax-disassem.lisp
@@ -1,6 +1,6 @@
 ;;; -*- Mode: Lisp; Package: MIPS -*-
 ;;; 
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-disassem.lisp,v 1.7 1990/02/18 05:26:48 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-disassem.lisp,v 1.8 1990/02/18 06:23:22 ch Exp $
 ;;;
 ;;; A simple dissambler for the MIPS R2000.
 ;;;
@@ -124,6 +124,13 @@
     (cond ((and (zerop rs) (or (string= name "ADDI") (string= name "ADDIU")))
 	   (format stream "~16,8TLOADI~8,8T~A, #x~X~%"
 		   (register-name rt) immed))
+	  ;; I'm not proud of this ...
+	  ((and (= rs c::null-offset) (string= name "ADDI")
+		(eq register-name-style :lisp))
+	   (format stream "~16,8T~A~8,8T~A, ~A, #x~X~48,8T; ~S~%"
+		   name (register-name rt) (register-name rs) immed
+		   (nth (1- (floor immed vm:symbol-size))
+			vm:initial-symbols)))
 	  (t
 	   (format stream "~16,8T~A~8,8T~A, ~A, #x~X~%"
 		   name (register-name rt) (register-name rs) immed)))))
@@ -185,7 +192,7 @@
     (cond ((zerop rd)
 	   ;; Hack for NOP
 	   (format stream "~16,8TNOP~%"))
-	  ((and (zerop rt) (or (string= name "OR") (string= name "ANDU")))
+	  ((and (zerop rt) (or (string= name "OR") (string= name "ADDU")))
 	   ;; Hack for MOVE
 	   (format stream "~16,8TMOVE~8,8T~A, ~A~%"
 		   (register-name rd) (register-name rs)))