diff --git a/ldb/purify.c b/ldb/purify.c
index 6e6e78403010684176c15062f9222127424de839..9c662848c9bdaf0671d4a86c6c13599d657e9249 100644
--- a/ldb/purify.c
+++ b/ldb/purify.c
@@ -1,6 +1,6 @@
 /* Purify. */
 
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/purify.c,v 1.15 1991/12/20 18:47:02 ram Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/purify.c,v 1.16 1992/01/25 14:39:55 wlott Exp $ */
 
 #include <stdio.h>
 
@@ -511,7 +511,7 @@ static lispobj *pscav(addr, nwords, constant)
                 /* Maybe.  Have we already moved it? */
                 thingp = (lispobj *)PTR(thing);
                 header = *thingp;
-                if (forwarding_pointer_p(header))
+                if (Pointerp(header) && forwarding_pointer_p(header))
                     /* Yep, so just copy the forwarding pointer. */
                     thing = header;
                 else {