diff --git a/src/code/reader.lisp b/src/code/reader.lisp
index 27c18ae3402e2a3a933db466bc21227c62575d08..b06230ce2306b498425046af9b4b2e85894f2abb 100644
--- a/src/code/reader.lisp
+++ b/src/code/reader.lisp
@@ -1839,15 +1839,15 @@ the end of the stream."
 				  least-positive-single-float)
 				 (double-float
 				  least-positive-double-float)
+				 #+double-double
 				 (double-double-float
-				  (kernel:make-double-double-float least-positive-double-float
-								   0d0)))))
+				  ext:least-positive-double-double-float))))
 	      (if (>= (* 2 ratio) float-limit)
 		  (setf result float-limit)
 		  (error _"Underflow"))))
 	  result))
     (error ()
-	   (%reader-error stream _"Number not representable as ~S: ~S"
+	   (%reader-error stream _"Number not representable as a ~S: ~S"
 			  float-format (/ number divisor)))))