diff --git a/application.lisp b/application.lisp
index 82855b1978ee02d94aec760c6bfba1b1596c251f..355f6ac439c84b9a2437720771fe1a044479188a 100644
--- a/application.lisp
+++ b/application.lisp
@@ -948,7 +948,9 @@ not away."
 (defun connection= (connection1 connection2)
   ;; TODO: should compare by network, not by server name.
   ;; TODO: also, there is no port that we could compare.
-  (and (equal (irc:nickname (irc:user connection1)) (irc:nickname (irc:user connection2)))
+  (and (irc:user connection1)
+       (irc:user connection2)
+       (equal (irc:nickname (irc:user connection1)) (irc:nickname (irc:user connection2)))
        (equal (irc:server-name connection1) (irc:server-name connection2))))
 
 (define-beirc-command (com-connect :name t)