diff --git a/ansi-tests/rt.lsp b/ansi-tests/rt.lsp
index 9bce2e367abb3115fb5c68261b96db2fc450a0e8..301e08e3fb5c2325cf224859cbac9a653f9d9c53 100644
--- a/ansi-tests/rt.lsp
+++ b/ansi-tests/rt.lsp
@@ -102,8 +102,9 @@
 (defun rem-test (&optional (name *test*))
   (let ((pred (gethash name *entries-table*)))
     (when pred
-      (when (eq (cdr pred) *entries-tail*)
-	(setq *entries-tail* pred))
+      (if (null (cddr pred))
+	  (setq *entries-tail* pred)
+	(setf (gethash (name (caddr pred)) *entries-table*) pred))
       (setf (cdr pred) (cddr pred))
       (remhash name *entries-table*)
       name)))